Floatplane REST API v3.8.9
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Homepage: https://jman012.github.io/FloatplaneAPIDocs
This document describes the REST API layer of https://www.floatplane.com, a content creation and video streaming website created by Floatplane Media Inc. and Linus Media Group, where users can support their favorite creates via paid subscriptions in order to watch their video and livestream content in higher quality and other perks.
While this document contains stubs for all of the Floatplane APIs for this version, many are not filled out because they are related only to content creation, moderation, or administration and are not needed for regular use. These have “TODO” as the description, and are automatically removed before document generation. If you are viewing the “Trimmed” version of this document, they have been removed for brevity.
API Object Organization
- Users and Creators exist on Floatplane at the highest level
- The highest-level object in Floatplane is the Creator. This is an entity, such as Linus Tech Tips, that produces media for Users.
- A Creator owns one or more Subscription Plans
- A User can view a Creator’s Content if they are subscribed to them
- A Creator publishes Content, in the form of Blog Posts
- Content is produced by Creators, and show up for subscribed Users to view when it is released. A piece of Content is meant to be generic, and may contain different types of sub-Content. Currently, the only type is a Blog Post.
- A Blog Post is the main type of Content that a Creator produces. Blog Posts are how a Creator can share text and/or media attachments with their subscribers.
- A Blog Post is comprised of one or more of: video, audio, picture, or gallery Attachments
- A media Attachment may be: video, audio, picture, gallery. Attachments are a part of Blog Posts, and are in a particular order.
- A Creator may also have a single Livestream
API Flow
As of Floatplane version 3.5.1, these are the recommended endpoints to use for normal operations.
- Login
/api/v3/auth/captcha/info- Get captcha information/api/v2/auth/login- Login with username, password, and optional captcha token/api/v2/auth/checkFor2faLogin- Optionally provide 2FA token to complete login/api/v2/auth/logout- Logout at a later point in time
- Home page
/api/v3/user/subscriptions- Get the user’s active subscriptions/api/v3/content/creator/list- Using the subscriptions, show a home page with content from all subscriptions- Supply all creator identifiers from the subscriptions
- This should be paginated
/api/v2/creator/info- Also show a list of creators that the user can select- Note that this can search and return multiple creators. The V3 version only works for a single creator at a time.
- Creator page
/api/v3/creator/info- Get more details for the creator to display, including if livestreams are available/api/v3/content/creator- Show recent content by the creator/api/v2/plan/info- Show available plans the user can subscribe to for the creator
- Content page
/api/v3/content/post- Show more detailed information about a piece of content, including text description, available attachments, metadata, interactions, etc./api/v3/content/related- List some related content for the user to watch next/api/v3/comment- Load comments for the content for the user to read- There are several more comment APIs to post, like, dislike, etc.
/api/v2/user/ban/status- Determine if the user is banned from this creator/api/v3/content/{video|audio|picture|gallery}- Load the attached media for the post. This is usually video, but audio, pictures, and galleries are also available./api/v2/cdn/delivery- For video and audio, this is required to get the information to stream or download the content in media players
- Livestream
/api/v2/cdn/delivery- Using the type “livestream” to load the livestream media in a media playerwss://chat.floatplane.com/sails.io/?...- To connect to the livestream chat over websocket. TODO: Map out the WebSocket API.
- User Profile
/api/v3/user/self- Display username, name, email, and profile pictures
API Organization
The organization of APIs into categories in this document are reflected from the internal organization of the Floatplane website bundled code, from frontend.floatplane.com/{version}/vendor.js. This is in order to use the best organization from the original developers’ point of view.
For instance, Floatplane’s authentication endpoints are organized into Auth.v2.login(...), Auth.v2.logout(), and Auth.v3.getCaptchaInfo(). A limitation in OpenAPI is the lack of nested tagging/structure, so this document splits Auth into AuthV2 and AuthV3 to emulate the nested structure.
Notes
Note that the Floatplane API does support the use of ETags for retrieving some information, such as retrieving information about creators, users, etc. Expect an HTTP 304 if the content has not changed, and to re-use cached responses. This is useful to ease the strain on Floatplane’s API server.
The date-time format used by Floatplane API is not standard ISO 8601 format. The dates/times given by Floatplane include milliseconds. Depending on your code generator, you may need to override the date-time format to something similar to yyyy-MM-dd'T'HH:mm:ss.SSSZ, for both encoding and decoding.
Base URLs:
Web: James Linnell License: MIT
Authentication
- API Key (CookieAuth)
- Parameter Name: sails.sid, in: cookie. Authentication and authorization to Floatplane API calls is governed by the
sails.sidHTTP Cookie. To obtain this cookie, you must authenticate to/api/v2/auth/login.
- Parameter Name: sails.sid, in: cookie. Authentication and authorization to Floatplane API calls is governed by the
When dealing with cookies in native applications (not via a website inside of a browser), please keep in mind that some languages/libraries may keep cookies across requests by default, and some may not. For instance, in Swift the URLSession.shared object with default configuration will automatically track and persist cookies across requests.
ActivationV2
Activate new user accounts and confirming activation via email.
confirmEmail
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/activation/email/confirm \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/activation/email/confirm HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/activation/email/confirm',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/activation/email/confirm',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/activation/email/confirm', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/activation/email/confirm', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/activation/email/confirm");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/activation/email/confirm", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/activation/email/confirm
Confirm Email
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
requestActivationEmail
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/activation/email/request \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/activation/email/request HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/activation/email/request',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/activation/email/request',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/activation/email/request', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/activation/email/request', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/activation/email/request");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/activation/email/request", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/activation/email/request
Request Activation Email
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
ACP_CreatorAgreementV2
List and edit Creator<->Floatplane agreements.
listCreatorAgreement
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/creatoragreement/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/creatoragreement/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/creatoragreement/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/creatoragreement/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/creatoragreement/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/creatoragreement/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/creatoragreement/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/creatoragreement/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/creatoragreement/list
List Creator Agreement
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getCreatorAgreement
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/creatoragreement \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/creatoragreement HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/creatoragreement',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/creatoragreement',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/creatoragreement', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/creatoragreement', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/creatoragreement");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/creatoragreement", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/creatoragreement
Get Creator Agreement
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
editCreatorAgreement
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/creatoragreement/edit \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/creatoragreement/edit HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/creatoragreement/edit',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/creatoragreement/edit',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/creatoragreement/edit', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/creatoragreement/edit', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/creatoragreement/edit");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/creatoragreement/edit", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/creatoragreement/edit
Edit Creator Agreement
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
ACP_CreatorV2
Creator management for creating and editing creators.
getCreatorList
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/creator/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/creator/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/creator/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/creator/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/creator/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/creator/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/creator/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/creator/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/creator/list
Get Creator List
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getCreatorDetails
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/creator/ \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/creator/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/creator/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/creator/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/creator/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/creator/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/creator/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/creator/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/creator/
Get Creator Details
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getSubscriptionPlanList
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/creator/subscriptionplans/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/creator/subscriptionplans/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/creator/subscriptionplans/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/creator/subscriptionplans/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/creator/subscriptionplans/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/creator/subscriptionplans/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/creator/subscriptionplans/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/creator/subscriptionplans/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/creator/subscriptionplans/list
Get Subscription Plan List
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
checkCreatorURLAvailable
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/creator/urlname/availability \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/creator/urlname/availability HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/creator/urlname/availability',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/creator/urlname/availability',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/creator/urlname/availability', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/creator/urlname/availability', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/creator/urlname/availability");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/creator/urlname/availability", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/creator/urlname/availability
Check Creator Url Available
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getCreatorCategories
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/creator/category/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/creator/category/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/creator/category/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/creator/category/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/creator/category/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/creator/category/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/creator/category/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/creator/category/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/creator/category/list
Get Creator Categories
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
createCreator
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/creator/create \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/creator/create HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/creator/create',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/creator/create',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/creator/create', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/creator/create', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/creator/create");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/creator/create", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/creator/create
Create Creator
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
uploadCover
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/creator/cover/upload \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/creator/cover/upload HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/creator/cover/upload',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/creator/cover/upload',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/creator/cover/upload', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/creator/cover/upload', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/creator/cover/upload");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/creator/cover/upload", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/creator/cover/upload
Upload Cover
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getCreatorsTitles
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/creator/titles \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/creator/titles HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/creator/titles',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/creator/titles',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/creator/titles', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/creator/titles', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/creator/titles");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/creator/titles", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/creator/titles
Get Creators Titles
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
updateCreator
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/creator/update \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/creator/update HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/creator/update',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/creator/update',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/creator/update', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/creator/update', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/creator/update");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/creator/update", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/creator/update
Update Creator
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
updateCreatorSubscriptionPlan
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/creator/subscriptionplan/update \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/creator/subscriptionplan/update HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/creator/subscriptionplan/update',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/creator/subscriptionplan/update',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/creator/subscriptionplan/update', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/creator/subscriptionplan/update', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/creator/subscriptionplan/update");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/creator/subscriptionplan/update", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/creator/subscriptionplan/update
Update Creator Subscription Plan
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
uploadCard
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/creator/card/upload \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/creator/card/upload HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/creator/card/upload',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/creator/card/upload',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/creator/card/upload', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/creator/card/upload', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/creator/card/upload");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/creator/card/upload", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/creator/card/upload
Upload Card
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
uploadIcon
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/creator/icon/upload \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/creator/icon/upload HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/creator/icon/upload',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/creator/icon/upload',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/creator/icon/upload', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/creator/icon/upload', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/creator/icon/upload");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/creator/icon/upload", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/creator/icon/upload
Upload Icon
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
ACP_CreatorV3
Creator management for inviting creators.
getCreatorInviteCodeList
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v3/creator/invite/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v3/creator/invite/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v3/creator/invite/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v3/creator/invite/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v3/creator/invite/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v3/creator/invite/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v3/creator/invite/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v3/creator/invite/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v3/creator/invite/list
Get Creator Invite Code List
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
createCreatorInviteCode
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v3/creator/invite/create \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v3/creator/invite/create HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v3/creator/invite/create',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v3/creator/invite/create',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v3/creator/invite/create', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v3/creator/invite/create', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v3/creator/invite/create");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v3/creator/invite/create", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v3/creator/invite/create
Create Creator Invite Code
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
ACP_DashboardV2
Dashboard for viewing, starting, and stopping jobs.
getJobStatus
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/dashboard/job/status/ \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/dashboard/job/status/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/dashboard/job/status/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/dashboard/job/status/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/dashboard/job/status/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/dashboard/job/status/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/dashboard/job/status/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/dashboard/job/status/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/dashboard/job/status/
Get Job Status
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
startJob
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/dashboard/job/start/ \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/dashboard/job/start/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/dashboard/job/start/',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/dashboard/job/start/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/dashboard/job/start/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/dashboard/job/start/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/dashboard/job/start/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/dashboard/job/start/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/dashboard/job/start/
Start Job
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
stopJob
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/dashboard/job/stop/ \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/dashboard/job/stop/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/dashboard/job/stop/',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/dashboard/job/stop/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/dashboard/job/stop/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/dashboard/job/stop/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/dashboard/job/stop/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/dashboard/job/stop/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/dashboard/job/stop/
Stop Job
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
ACP_FAQV2
Manage and edit FAQ entries. See https://www.floatplane.com/support
getFaqSectionsACP
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/section/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/section/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/section/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/section/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/section/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/section/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/section/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/section/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/section/list
Get Faq Sections
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
updateFaqSection
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/section/edit \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/section/edit HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/section/edit',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/section/edit',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/section/edit', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/section/edit', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/section/edit");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/section/edit", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/section/edit
Update Faq Section
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getFaqSectionDetails
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/section/ \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/section/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/section/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/section/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/section/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/section/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/section/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/section/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/section/
Get Faq Section Details
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getFaqArticleDetails
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/article/ \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/article/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/article/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/article/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/article/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/article/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/article/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/article/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/article/
Get Faq Article Details
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
updateFaqArticle
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/article/edit \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/article/edit HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/article/edit',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/article/edit',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/article/edit', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/article/edit', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/article/edit");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/article/edit", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/article/edit
Update Faq Article
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
uploadFaqImage
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/image/upload \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/image/upload HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/image/upload',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/image/upload',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/image/upload', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/image/upload', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/image/upload");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/image/upload", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/image/upload
Upload Faq Image
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getFaqImages
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/image/list \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/image/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/image/list',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/image/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/image/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/image/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/image/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/image/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/image/list
Get Faq Images
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
createFaqSection
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/section/create \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/section/create HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/section/create',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/section/create',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/section/create', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/section/create', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/section/create");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/section/create", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/section/create
Create Faq Section
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
createFaqArticle
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/article/create \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/article/create HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/article/create',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/article/create',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/article/create', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/article/create', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/article/create");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/article/create", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/article/create
Create Faq Article
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
ACP_FeatureV2
Manage and edit features.
getFeatureConfigs
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/feature/configs \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/feature/configs HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/feature/configs',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/feature/configs',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/feature/configs', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/feature/configs', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/feature/configs");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/feature/configs", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/feature/configs
Get Feature Configs
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
saveFeature
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/feature/save \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/feature/save HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/feature/save',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/feature/save',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/feature/save', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/feature/save', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/feature/save");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/feature/save", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/feature/save
Save Feature
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
saveFeatureDependencies
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/feature/dependencies/save \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/feature/dependencies/save HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/feature/dependencies/save',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/feature/dependencies/save',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/feature/dependencies/save', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/feature/dependencies/save', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/feature/dependencies/save");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/feature/dependencies/save", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/feature/dependencies/save
Save Feature Dependencies
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
saveFeatureCategory
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/feature/category/save \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/feature/category/save HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/feature/category/save',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/feature/category/save',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/feature/category/save', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/feature/category/save', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/feature/category/save");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/feature/category/save", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/feature/category/save
Save Feature Category
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
saveFeatureType
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/feature/type/save \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/feature/type/save HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/feature/type/save',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/feature/type/save',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/feature/type/save', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/feature/type/save', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/feature/type/save");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/feature/type/save", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/feature/type/save
Save Feature Type
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
saveFeatureResolution
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/feature/resolution/save \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/feature/resolution/save HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/feature/resolution/save',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/feature/resolution/save',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/feature/resolution/save', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/feature/resolution/save', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/feature/resolution/save");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/feature/resolution/save", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/feature/resolution/save
Save Feature Resolution
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
AdministrationV2
Manage and edit moderators and global moderators. This entire section is deprecated.
addGlobalModerator
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/administration/moderators/global/add \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/administration/moderators/global/add HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/administration/moderators/global/add',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/administration/moderators/global/add',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/administration/moderators/global/add', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/administration/moderators/global/add', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/administration/moderators/global/add");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/administration/moderators/global/add", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/administration/moderators/global/add
Add Global Moderator
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
removeGlobalModerator
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/administration/moderators/global/remove \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/administration/moderators/global/remove HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/administration/moderators/global/remove',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/administration/moderators/global/remove',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/administration/moderators/global/remove', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/administration/moderators/global/remove', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/administration/moderators/global/remove");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/administration/moderators/global/remove", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/administration/moderators/global/remove
Remove Global Moderator
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
removeModerator
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/administration/moderators/remove \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/administration/moderators/remove HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/administration/moderators/remove',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/administration/moderators/remove',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/administration/moderators/remove', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/administration/moderators/remove', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/administration/moderators/remove");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/administration/moderators/remove", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/administration/moderators/remove
Remove Moderator
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getModerator
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/administration/moderators/get/{user} \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/administration/moderators/get/{user} HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/administration/moderators/get/{user}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/administration/moderators/get/{user}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/administration/moderators/get/{user}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/administration/moderators/get/{user}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/administration/moderators/get/{user}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/administration/moderators/get/{user}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/administration/moderators/get/{user}
Get Moderator
TODO - Not used in Floatplane code.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| user | path | string | true | none |
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listModeratorsAdmin
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/administration/moderators/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/administration/moderators/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/administration/moderators/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/administration/moderators/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/administration/moderators/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/administration/moderators/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/administration/moderators/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/administration/moderators/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/administration/moderators/list
List Moderators
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
ACP_ModeratorV2
Manage and edit moderators and global moderators.
getModeratorList
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/moderator/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/moderator/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/moderator/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/moderator/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/moderator/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/moderator/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/moderator/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/moderator/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/moderator/list
Get Moderator List
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
createModerator
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/moderator/create \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/moderator/create HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/moderator/create',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/moderator/create',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/moderator/create', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/moderator/create', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/moderator/create");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/moderator/create", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/moderator/create
Create Moderator
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
updateGlobalModerator
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/moderator/update/global \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/moderator/update/global HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/moderator/update/global',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/moderator/update/global',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/moderator/update/global', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/moderator/update/global', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/moderator/update/global");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/moderator/update/global", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/moderator/update/global
Update Global Moderator
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
removeCreatorModeratorACP
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/moderator/creator/remove \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/moderator/creator/remove HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/moderator/creator/remove',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/moderator/creator/remove',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/moderator/creator/remove', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/moderator/creator/remove', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/moderator/creator/remove");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/moderator/creator/remove", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/moderator/creator/remove
Remove Creator Moderator
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
addCreatorModeratorACP
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/moderator/creator/add/ \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/moderator/creator/add/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/moderator/creator/add/',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/moderator/creator/add/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/moderator/creator/add/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/moderator/creator/add/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/moderator/creator/add/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/moderator/creator/add/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/moderator/creator/add/
Add Creator Moderator
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getModeratorAvailableCreators
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/moderator/creator/available \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/moderator/creator/available HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/moderator/creator/available',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/moderator/creator/available',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/moderator/creator/available', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/moderator/creator/available', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/moderator/creator/available");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/moderator/creator/available", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/moderator/creator/available
Get Moderator Available Creators
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getModeratorCreators
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/moderator/creator/list/ \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/moderator/creator/list/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/moderator/creator/list/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/moderator/creator/list/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/moderator/creator/list/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/moderator/creator/list/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/moderator/creator/list/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/moderator/creator/list/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/moderator/creator/list/
Get Moderator Creators
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
ACP_UserV2
Manage and edit users globally by administrators.
getUserList
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/user/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/user/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/user/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/user/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/user/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/user/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/user/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/user/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/user/list
Get User List
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getUserDetails
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/user/ \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/user/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/user/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/user/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/user/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/user/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/user/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/user/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/user/
Get User Details
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
searchUserForModeration
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/user/list/notmoderator \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/user/list/notmoderator HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/user/list/notmoderator',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/user/list/notmoderator',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/user/list/notmoderator', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/user/list/notmoderator', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/user/list/notmoderator");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/user/list/notmoderator", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/user/list/notmoderator
Search User For Moderation
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
findUser
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/user/find \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/user/find HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/user/find',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/user/find',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/user/find', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/user/find', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/user/find");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/user/find", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/user/find
Find User
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
createAdmin
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/user/admin/create \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/user/admin/create HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/user/admin/create',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/user/admin/create',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/user/admin/create', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/user/admin/create', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/user/admin/create");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/user/admin/create", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/user/admin/create
Create Admin
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
addUserSubscriptions
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/user/subscription/add \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/user/subscription/add HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/user/subscription/add',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/user/subscription/add',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/user/subscription/add', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/user/subscription/add', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/user/subscription/add");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/user/subscription/add", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/user/subscription/add
Add User Subscriptions
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
checkUsernameAvailable
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/user/username/availability \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/user/username/availability HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/user/username/availability',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/user/username/availability',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/user/username/availability', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/user/username/availability', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/user/username/availability");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/user/username/availability", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/user/username/availability
Check Username Available
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
checkEmailAvailable
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/user/email/availability \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/user/email/availability HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/user/email/availability',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/user/email/availability',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/user/email/availability', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/user/email/availability', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/user/email/availability");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/user/email/availability", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/user/email/availability
Check Email Available
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
uploadAvatarACP
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/user/avatar/upload \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/user/avatar/upload HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/user/avatar/upload',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/user/avatar/upload',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/user/avatar/upload', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/user/avatar/upload', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/user/avatar/upload");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/user/avatar/upload", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/user/avatar/upload
Upload Avatar
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
updateUser
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/user/edit \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/user/edit HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/user/edit',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/user/edit',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/user/edit', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/user/edit', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/user/edit");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/user/edit", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/user/edit
Update User
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getUserSubscriptions
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/user/usersubscription/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/user/usersubscription/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/user/usersubscription/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/user/usersubscription/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/user/usersubscription/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/user/usersubscription/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/user/usersubscription/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/user/usersubscription/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/user/usersubscription/list
Get User Subscriptions
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
removeUserSubscription
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/user/usersubscription/delete \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/user/usersubscription/delete HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/user/usersubscription/delete',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/user/usersubscription/delete',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/user/usersubscription/delete', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/user/usersubscription/delete', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/user/usersubscription/delete");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/user/usersubscription/delete", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/user/usersubscription/delete
Remove User Subscription
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
updateAdministrator
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/user/administrator/update \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/user/administrator/update HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/user/administrator/update',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/user/administrator/update',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/user/administrator/update', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/user/administrator/update', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/user/administrator/update");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/user/administrator/update", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/user/administrator/update
Update Administrator
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
deleteUser
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/user/delete \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/user/delete HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/user/delete',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/user/delete',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/user/delete', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/user/delete', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/user/delete");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/user/delete", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/user/delete
Delete User
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
signupACP
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v2/user/create \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v2/user/create HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/user/create',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v2/user/create',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v2/user/create', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v2/user/create', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/user/create");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v2/user/create", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v2/user/create
Signup
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listUserInvoices
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/user/payment/invoice/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/user/payment/invoice/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/user/payment/invoice/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/user/payment/invoice/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/user/payment/invoice/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/user/payment/invoice/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/user/payment/invoice/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/user/payment/invoice/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/user/payment/invoice/list
List User Invoices
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getPaymentProcessorData
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v2/user/payment/processor/data \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v2/user/payment/processor/data HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v2/user/payment/processor/data',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v2/user/payment/processor/data',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v2/user/payment/processor/data', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v2/user/payment/processor/data', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v2/user/payment/processor/data");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v2/user/payment/processor/data", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v2/user/payment/processor/data
Get Payment Processor Data
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
ACP_UserV3
Manage and edit users globally by administrators.
scheduleDeletionACP
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v3/user/delete \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v3/user/delete HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v3/user/delete',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v3/user/delete',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v3/user/delete', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v3/user/delete', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v3/user/delete");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v3/user/delete", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v3/user/delete
Schedule Deletion
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
unscheduleDeletionACP
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/acp/v3/user/undelete \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/acp/v3/user/undelete HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v3/user/undelete',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/acp/v3/user/undelete',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/acp/v3/user/undelete', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/acp/v3/user/undelete', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v3/user/undelete");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/acp/v3/user/undelete", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/acp/v3/user/undelete
Unschedule Deletion
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getSubjectAccessData
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/acp/v3/user/sar \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/acp/v3/user/sar HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/acp/v3/user/sar',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/acp/v3/user/sar',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/acp/v3/user/sar', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/acp/v3/user/sar', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/acp/v3/user/sar");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/acp/v3/user/sar", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/acp/v3/user/sar
Get Subject Access Data
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
AuthV2
Sign up, login, 2FA, and logout. Additionally, login spoofing for administrators.
login
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/auth/login \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/auth/login HTTP/1.1
Host: www.floatplane.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"username": "string",
"password": "string",
"captchaToken": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/auth/login',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/auth/login',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/auth/login', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/auth/login', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/auth/login");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/auth/login", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/auth/login
Login
Login to Floatplane with the provided username and password, retrieving the authentication/authorization cookie from the response for subsequent requests.
Body parameter
{
"username": "string",
"password": "string",
"captchaToken": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | AuthLoginV2Request | true | none |
Example responses
200 Response
{
"user": {
"id": "0123456789abcdef01234567",
"username": "my_username",
"profileImage": {
"width": 512,
"height": 512,
"path": "https://pbs.floatplane.com/profile_images/default/user12.png",
"childImages": [
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/profile_images/default/user12_250x250.png"
},
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/profile_images/default/user12_100x100.png"
}
]
}
},
"needs2FA": false
}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "string",
"errors": [
{
"id": "string",
"name": "string",
"message": "string",
"data": {}
}
],
"message": "string"
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Returns the header and information about the logged-in user, including the id, username, and profile image. | AuthLoginV2Response |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The login attempt failed, either due to a bad username or password. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Set-Cookie | string | Contains the cookie used in subsequent authenticated requests. |
logout
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/auth/logout \
-H 'Accept: text/plain'
POST https://www.floatplane.com/api/v2/auth/logout HTTP/1.1
Host: www.floatplane.com
Accept: text/plain
const headers = {
'Accept':'text/plain'
};
fetch('https://www.floatplane.com/api/v2/auth/logout',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'text/plain'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/auth/logout',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'text/plain'
}
r = requests.post('https://www.floatplane.com/api/v2/auth/logout', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'text/plain',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/auth/logout', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/auth/logout");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"text/plain"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/auth/logout", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/auth/logout
Logout
Log out of Floatplane, invalidating the authentication/authorization cookie.
Example responses
200 Response
"OK"
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | string |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Set-Cookie | string | Obtain a new authentication/authorization cookie after logging out. This new cookie will not be authenticated to perform subsequent requests. |
beginSpoofing
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/auth/spoof/begin \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/auth/spoof/begin HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/auth/spoof/begin',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/auth/spoof/begin',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/auth/spoof/begin', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/auth/spoof/begin', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/auth/spoof/begin");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/auth/spoof/begin", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/auth/spoof/begin
Begin Spoofing
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
endSpoofing
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/auth/spoof/end \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/auth/spoof/end HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/auth/spoof/end',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/auth/spoof/end',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/auth/spoof/end', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/auth/spoof/end', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/auth/spoof/end");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/auth/spoof/end", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/auth/spoof/end
End Spoofing
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
signup
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/auth/signup \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/auth/signup HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/auth/signup',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/auth/signup',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/auth/signup', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/auth/signup', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/auth/signup");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/auth/signup", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/auth/signup
Signup
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
checkFor2faLogin
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/auth/checkFor2faLogin \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/auth/checkFor2faLogin HTTP/1.1
Host: www.floatplane.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"token": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/auth/checkFor2faLogin',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/auth/checkFor2faLogin',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/auth/checkFor2faLogin', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/auth/checkFor2faLogin', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/auth/checkFor2faLogin");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/auth/checkFor2faLogin", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/auth/checkFor2faLogin
Check For 2FA Login
Complete the login process if a two-factor authentication token is required from the beginning of the login process.
Body parameter
{
"token": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | CheckFor2faLoginRequest | true | none |
Example responses
200 Response
{
"user": {
"id": "0123456789abcdef01234567",
"username": "my_username",
"profileImage": {
"width": 512,
"height": 512,
"path": "https://pbs.floatplane.com/profile_images/default/user12.png",
"childImages": [
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/profile_images/default/user12_250x250.png"
},
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/profile_images/default/user12_100x100.png"
}
]
}
},
"needs2FA": false
}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "string",
"errors": [
{
"id": "string",
"name": "string",
"message": "string",
"data": {}
}
],
"message": "string"
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Returns the header and information about the logged-in user, including the id, username, and profile image. | AuthLoginV2Response |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The login attempt failed, either due to a bad username or password. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Set-Cookie | string | Contains the cookie used in subsequent authenticated requests. |
AuthV3
Captchas information.
getCaptchaInfo
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/auth/captcha/info \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/auth/captcha/info HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/auth/captcha/info',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/auth/captcha/info',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/auth/captcha/info', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/auth/captcha/info', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/auth/captcha/info");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/auth/captcha/info", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/auth/captcha/info
Get Captcha Info
Gets the site keys used for Google Recaptcha V2 and V3. These are useful when providing a captcha token when logging in or signing up.
Example responses
200 Response
{
"v2": {
"variants": {
"android": {
"siteKey": "..."
},
"checkbox": {
"siteKey": "..."
},
"invisible": {
"siteKey": "..."
}
}
},
"v3": {
"variants": {
"invisible": {
"siteKey": "..."
}
}
}
}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | GetCaptchaInfoResponse |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
BrainTreeV2
BrainTree payment integration
generateClientToken
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/payment/braintree/token \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/payment/braintree/token HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/payment/braintree/token',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/payment/braintree/token',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/payment/braintree/token', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/payment/braintree/token', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/payment/braintree/token");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/payment/braintree/token", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/payment/braintree/token
Generate Client Token
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
CDNV2
Content Delivery mechanisms for Floatplane media.
getDeliveryInfo
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/cdn/delivery?type=vod \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/cdn/delivery?type=vod HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/cdn/delivery?type=vod',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/cdn/delivery',
params: {
'type' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/cdn/delivery', params={
'type': 'vod'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/cdn/delivery', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/cdn/delivery?type=vod");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/cdn/delivery", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/cdn/delivery
Get Delivery Info
Given an video/audio attachment identifier, retrieves the information necessary to play, download, or livestream the video/audio at various quality levels.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| type | query | string | true | Used to determine which kind of retrieval method is requested for the video. |
| guid | query | string | false | The GUID of the attachment for a post, retrievable from the videoAttachments or audioAttachments object. Required when type is vod, aod, or download. Note: either this or creator must be supplied. |
| creator | query | string | false | The GUID of the creator for a livestream, retrievable from CreatorModelV2.id. Required when type is live. Note: either this or guid must be supplied. |
Detailed descriptions
type: Used to determine which kind of retrieval method is requested for the video.
- VOD = stream a Video On Demand
- AOD = stream Audio On Demand
- Live = Livestream the content
- Download = Download the content for the user to play later.
Enumerated Values
| Parameter | Value |
|---|---|
| type | vod |
| type | aod |
| type | live |
| type | download |
Example responses
200 Response
{
"cdn": "https://cdn-vod-drm2.floatplane.com",
"strategy": "cdn",
"resource": {
"uri": "/Videos/TViGzkuIic/{qualityLevels}.mp4/chunk.m3u8?token={qualityLevelParams.token}",
"data": {
"qualityLevels": [
{
"name": "360",
"width": 640,
"height": 360,
"label": "360p",
"order": 0
},
{
"name": "480",
"width": 854,
"height": 480,
"label": "480p",
"order": 1
},
{
"name": "720",
"width": 1280,
"height": 720,
"label": "720p",
"order": 2
},
{
"name": "1080",
"width": 2160,
"height": 1080,
"label": "1080p",
"order": 4
}
],
"qualityLevelParams": {
"360": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyZXNzb3VyY2VQYXRoIjoiL1ZpZGVvcy9UVmlHemt1SWljLzM2MC5tcDQvY2h1bmsubTN1OCIsInVzZXJJZCI6IjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2NyIsImlhdCI6MTYzMzc5NzMxMSwiZXhwIjoxNjMzODE4OTExfQ.uaLzZ4wSc0jrYbjkdhuF4_UY92iWQsq2efrWUutYUvQ"
},
"480": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyZXNzb3VyY2VQYXRoIjoiL1ZpZGVvcy9UVmlHemt1SWljLzQ4MC5tcDQvY2h1bmsubTN1OCIsInVzZXJJZCI6IjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2NyIsImlhdCI6MTYzMzc5NzMxMSwiZXhwIjoxNjMzODE4OTExfQ.O6PHCJKcLW7ohuKj6UcMa8QGoN-vZr6xTtfXsUMRki0"
},
"720": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyZXNzb3VyY2VQYXRoIjoiL1ZpZGVvcy9UVmlHemt1SWljLzcyMC5tcDQvY2h1bmsubTN1OCIsInVzZXJJZCI6IjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2NyIsImlhdCI6MTYzMzc5NzMxMSwiZXhwIjoxNjMzODE4OTExfQ.lbOTTBXBjA-i9gBzm8ydFQ8fa8q07Z2vaLsYMKUp4Ik"
},
"1080": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyZXNzb3VyY2VQYXRoIjoiL1ZpZGVvcy9UVmlHemt1SWljLzEwODAubXA0L2NodW5rLm0zdTgiLCJ1c2VySWQiOiIwMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1NjciLCJpYXQiOjE2MzM3OTczMTEsImV4cCI6MTYzMzgxODkxMX0.E-bw_gnUzKUpYeL2l-kTmj5CbwmDb519ohjf5LlLyQg"
}
}
}
}
}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Information on how to stream or download the requested video from the CDN in various levels of quality. | CdnDeliveryV2Response |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
ConnectedAccountsV2
3rd party account management, such as Discord or LTT Forums.
getAccountConnect
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/connect/{site} \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/connect/{site} HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/connect/{site}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/connect/{site}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/connect/{site}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/connect/{site}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/connect/{site}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/connect/{site}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/connect/{site}
Connect
TODO
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| site | path | string | true | none |
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
callback
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/connect/{site}/callback \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/connect/{site}/callback HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/connect/{site}/callback',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/connect/{site}/callback',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/connect/{site}/callback', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/connect/{site}/callback', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/connect/{site}/callback");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/connect/{site}/callback", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/connect/{site}/callback
Callback
TODO
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| site | path | string | true | none |
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
complete
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/connect/complete \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/connect/complete HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/connect/complete',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/connect/complete',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/connect/complete', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/connect/complete', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/connect/complete");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/connect/complete", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/connect/complete
Complete
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
refresh
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/connect/refresh \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/connect/refresh HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/connect/refresh',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/connect/refresh',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/connect/refresh', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/connect/refresh', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/connect/refresh");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/connect/refresh", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/connect/refresh
Refresh
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
dissociate
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/connect/dissociate \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/connect/dissociate HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/connect/dissociate',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/connect/dissociate',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/connect/dissociate', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/connect/dissociate', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/connect/dissociate");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/connect/dissociate", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/connect/dissociate
Dissociate
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listConnections
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/connect/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/connect/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/connect/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/connect/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/connect/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/connect/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/connect/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/connect/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/connect/list
List Connections
List the available 3rd party accounts for the user’s profile.
Example responses
200 Response
[
{
"key": "ltt",
"name": "LinusTechTips",
"enabled": true,
"iconWhite": "/images/connections/ltt/white@2x.png",
"connectedAccount": null,
"connected": false,
"isAccountProvider": false
},
{
"key": "discord",
"name": "Discord",
"enabled": true,
"iconWhite": "/images/connections/discord/white@2x.png",
"connectedAccount": {
"id": "9a8a4140fdd2b0c15b54333a",
"remoteUserId": "012345678912345678",
"remoteUserName": "my_username#2673",
"data": {
"canJoinGuilds": true
}
},
"connected": true,
"isAccountProvider": false
}
]
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Returns the list of connected and available accounts. | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [ConnectedAccountModel] | false | none | none |
| » key | string | true | none | Unique identifier for the account type. |
| » name | string | true | none | Display-friendly label for the key. |
| » enabled | boolean | true | none | Determines if the system allows this account to be connected to. |
| » iconWhite | string | true | none | none |
| » connectedAccount | object | true | none | none |
| »» id | string | true | none | none |
| »» remoteUserId | string | true | none | none |
| »» remoteUserName | string | true | none | none |
| »» data | object | true | none | none |
| »»» canJoinGuilds | boolean | false | none | none |
| » connected | boolean | true | none | If true, the user is connected and the connectedAccount will have data about the account. |
| » isAccountProvider | boolean | true | none | none |
CreatorAdministrationV2
Creator-specific moderator management.
addCreatorModeratorAdmin
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/creator/administration/moderators/add \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/creator/administration/moderators/add HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/creator/administration/moderators/add',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/creator/administration/moderators/add',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/creator/administration/moderators/add', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/creator/administration/moderators/add', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/creator/administration/moderators/add");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/creator/administration/moderators/add", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/creator/administration/moderators/add
Add Creator Moderator
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
CreatorV2
Get and discover creators on the platform. Creator invitation and profile management.
getInfo
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/creator/info?creatorGUID=string \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/creator/info?creatorGUID=string HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/creator/info?creatorGUID=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/creator/info',
params: {
'creatorGUID' => 'array[string]'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/creator/info', params={
'creatorGUID': [
"string"
]
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/creator/info', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/creator/info?creatorGUID=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/creator/info", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/creator/info
Get Info
Retrieve detailed information on one or more creators on Floatplane.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| creatorGUID | query | array[string] | true | The GUID identifer(s) of the creator(s) to be retrieved. |
Example responses
200 Response
[
{
"id": "59f94c0bdd241b70349eb72b",
"owner": "59f94c0bdd241b70349eb723",
"title": "LinusTechTips",
"urlname": "linustechtips",
"description": "We make entertaining videos about technology, including tech reviews, showcases and other content.",
"about": "# We're LinusTechTips\nWe make videos and stuff, cool eh?",
"category": "59f94c0bdd241b70349eb727",
"cover": {
"width": 1990,
"height": 519,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867.jpeg",
"childImages": [
{
"width": 1245,
"height": 325,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867_1245x325.jpeg"
}
]
},
"icon": {
"width": 600,
"height": 600,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205.jpeg",
"childImages": [
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_250x250.jpeg"
},
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_100x100.jpeg"
}
]
},
"liveStream": {
"id": "5c13f3c006f1be15e08e05c0",
"title": "First Linux Stream",
"description": "<p>chat on Twitch</p>",
"thumbnail": {
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412_400x225.jpeg"
}
]
},
"owner": "59f94c0bdd241b70349eb72b",
"streamPath": "/api/video/v1/us-east-1.758417551536.channel.yKkxur4ukc0B.m3u8",
"offline": {
"title": "Offline",
"description": "We're offline for now – please check back later!",
"thumbnail": {
"width": 1920,
"height": 1080,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_400x225.jpeg"
},
{
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_1200x675.jpeg"
}
]
}
}
},
"subscriptionPlans": null,
"discoverable": true,
"subscriberCountDisplay": "total",
"incomeDisplay": false
}
]
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - The creators are found from their identifiers and returned in an array | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [CreatorModelV2] | false | none | none |
| » id | string | true | none | none |
| » owner | string | true | none | none |
| » title | string | true | none | none |
| » urlname | string | true | none | none |
| » description | string | true | none | none |
| » about | string | true | none | none |
| » category | string | true | none | none |
| » cover | ImageModel | false | none | none |
| »» width | integer | true | none | none |
| »» height | integer | true | none | none |
| »» path | string(uri) | true | none | none |
| »» size | integer | false | none | none |
| »» childImages | [ChildImageModel] | false | none | none |
| »»» width | integer | true | none | none |
| »»» height | integer | true | none | none |
| »»» path | string(uri) | true | none | none |
| » icon | ImageModel | true | none | none |
| » liveStream | LiveStreamModel | false | none | none |
| »» id | string | true | none | none |
| »» title | string | true | none | none |
| »» description | string | true | none | none |
| »» thumbnail | ImageModel | false | none | none |
| »» owner | string | true | none | none |
| »» streamPath | string | true | none | none |
| »» offline | object | true | none | none |
| »»» title | string | false | none | none |
| »»» description | string | false | none | none |
| »»» thumbnail | ImageModel | false | none | none |
| » subscriptionPlans | [object] | false | none | none |
| » discoverable | boolean | true | none | none |
| » subscriberCountDisplay | string | true | none | none |
| » incomeDisplay | boolean | true | none | none |
| » socialLinks | SocialLinksModel | false | none | none |
| string(uri) | false | none | none | |
| string(uri) | false | none | none | |
| »» website | string(uri) | false | none | none |
| string(uri) | false | none | none | |
| »» youtube | string(uri) | false | none | none |
| » discordServers | [DiscordServerModel] | false | none | none |
| »» id | string | true | none | none |
| »» guildName | string | true | none | none |
| »» guildIcon | string | true | none | none |
| »» inviteLink | string(uri) | true | none | none |
| »» inviteMode | string | true | none | none |
getCreatorInfoByName
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/creator/named?creatorURL=string \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/creator/named?creatorURL=string HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/creator/named?creatorURL=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/creator/named',
params: {
'creatorURL' => 'array[string]'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/creator/named', params={
'creatorURL': [
"string"
]
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/creator/named', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/creator/named?creatorURL=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/creator/named", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/creator/named
Get Info By Name
Retrieve detailed information on one or more creators on Floatplane.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| creatorURL | query | array[string] | true | The string identifer(s) of the creator(s) to be retrieved. |
Example responses
200 Response
[
{
"id": "59f94c0bdd241b70349eb72b",
"owner": "59f94c0bdd241b70349eb723",
"title": "LinusTechTips",
"urlname": "linustechtips",
"description": "We make entertaining videos about technology, including tech reviews, showcases and other content.",
"about": "# We're LinusTechTips\nWe make videos and stuff, cool eh?",
"category": "59f94c0bdd241b70349eb727",
"cover": {
"width": 1990,
"height": 519,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867.jpeg",
"childImages": [
{
"width": 1245,
"height": 325,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867_1245x325.jpeg"
}
]
},
"icon": {
"width": 600,
"height": 600,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205.jpeg",
"childImages": [
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_250x250.jpeg"
},
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_100x100.jpeg"
}
]
},
"liveStream": {
"id": "5c13f3c006f1be15e08e05c0",
"title": "First Linux Stream",
"description": "<p>chat on Twitch</p>",
"thumbnail": {
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412_400x225.jpeg"
}
]
},
"owner": "59f94c0bdd241b70349eb72b",
"streamPath": "/api/video/v1/us-east-1.758417551536.channel.yKkxur4ukc0B.m3u8",
"offline": {
"title": "Offline",
"description": "We're offline for now – please check back later!",
"thumbnail": {
"width": 1920,
"height": 1080,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_400x225.jpeg"
},
{
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_1200x675.jpeg"
}
]
}
}
},
"subscriptionPlans": null,
"discoverable": true,
"subscriberCountDisplay": "total",
"incomeDisplay": false,
"socialLinks": {
"instagram": "https://www.instagram.com/linustech/",
"twitter": "https://twitter.com/linustech",
"website": "https://linustechtips.com",
"facebook": "https://www.facebook.com/LinusTech",
"youtube": "https://www.youtube.com/user/LinusTechTips"
},
"discordServers": [
{
"id": "5baa8838d9f3aa0a83acd429",
"guildName": "LinusTechTips",
"guildIcon": "a_528743a32b33b5eb227a8405d5593473",
"inviteLink": "https://discord.gg/LTT",
"inviteMode": "link"
},
{
"id": "5e34cd9a9dbb744872192895",
"guildName": "LTT Minecraft Network",
"guildIcon": "4f7f812b49196b1646bdcdb84b948c84",
"inviteLink": "https://discord.gg/VVpwBPXrMc",
"inviteMode": "link"
}
]
}
]
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [CreatorModelV2] | false | none | none |
| » id | string | true | none | none |
| » owner | string | true | none | none |
| » title | string | true | none | none |
| » urlname | string | true | none | none |
| » description | string | true | none | none |
| » about | string | true | none | none |
| » category | string | true | none | none |
| » cover | ImageModel | false | none | none |
| »» width | integer | true | none | none |
| »» height | integer | true | none | none |
| »» path | string(uri) | true | none | none |
| »» size | integer | false | none | none |
| »» childImages | [ChildImageModel] | false | none | none |
| »»» width | integer | true | none | none |
| »»» height | integer | true | none | none |
| »»» path | string(uri) | true | none | none |
| » icon | ImageModel | true | none | none |
| » liveStream | LiveStreamModel | false | none | none |
| »» id | string | true | none | none |
| »» title | string | true | none | none |
| »» description | string | true | none | none |
| »» thumbnail | ImageModel | false | none | none |
| »» owner | string | true | none | none |
| »» streamPath | string | true | none | none |
| »» offline | object | true | none | none |
| »»» title | string | false | none | none |
| »»» description | string | false | none | none |
| »»» thumbnail | ImageModel | false | none | none |
| » subscriptionPlans | [object] | false | none | none |
| » discoverable | boolean | true | none | none |
| » subscriberCountDisplay | string | true | none | none |
| » incomeDisplay | boolean | true | none | none |
| » socialLinks | SocialLinksModel | false | none | none |
| string(uri) | false | none | none | |
| string(uri) | false | none | none | |
| »» website | string(uri) | false | none | none |
| string(uri) | false | none | none | |
| »» youtube | string(uri) | false | none | none |
| » discordServers | [DiscordServerModel] | false | none | none |
| »» id | string | true | none | none |
| »» guildName | string | true | none | none |
| »» guildIcon | string | true | none | none |
| »» inviteLink | string(uri) | true | none | none |
| »» inviteMode | string | true | none | none |
listVideos
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/creator/videos \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/creator/videos HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/creator/videos',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/creator/videos',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/creator/videos', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/creator/videos', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/creator/videos");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/creator/videos", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/creator/videos
List Videos
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listPlaylists
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/creator/playlists \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/creator/playlists HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/creator/playlists',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/creator/playlists',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/creator/playlists', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/creator/playlists', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/creator/playlists");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/creator/playlists", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/creator/playlists
List Playlists
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listCreators
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/creator/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/creator/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/creator/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/creator/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/creator/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/creator/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/creator/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/creator/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/creator/list
List Creators
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
discoverCreatorsV2
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/creator/discover \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/creator/discover HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/creator/discover',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/creator/discover',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/creator/discover', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/creator/discover', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/creator/discover");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/creator/discover", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/creator/discover
Discover Creators
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listCreatorCategoriesV2
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/creatorcategory/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/creatorcategory/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/creatorcategory/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/creatorcategory/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/creatorcategory/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/creatorcategory/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/creatorcategory/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/creatorcategory/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/creatorcategory/list
List Creator Categories
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
updateSocialLinks
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/creator/social/update \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/creator/social/update HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/creator/social/update',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/creator/social/update',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/creator/social/update', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/creator/social/update', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/creator/social/update");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/creator/social/update", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/creator/social/update
Update Social Links
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getSocialLinks
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/creator/social/get \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/creator/social/get HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/creator/social/get',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/creator/social/get',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/creator/social/get', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/creator/social/get', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/creator/social/get");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/creator/social/get", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/creator/social/get
Get Social Links
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
updateChannelImage
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/creator/image/update \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/creator/image/update HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/creator/image/update',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/creator/image/update',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/creator/image/update', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/creator/image/update', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/creator/image/update");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/creator/image/update", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/creator/image/update
Update Channel Image
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
updateChannelInfo
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/creator/info/update \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/creator/info/update HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/creator/info/update',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/creator/info/update',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/creator/info/update', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/creator/info/update', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/creator/info/update");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/creator/info/update", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/creator/info/update
Update Channel Info
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getChannelInfo
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/creator/info/get \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/creator/info/get HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/creator/info/get',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/creator/info/get',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/creator/info/get', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/creator/info/get', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/creator/info/get");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/creator/info/get", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/creator/info/get
Get Channel Info
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
CreatorV3
Get and discover creators on the platform. Creator invitation and profile management.
getCreator
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/creator/info?id=string \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/creator/info?id=string HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/creator/info?id=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/creator/info',
params: {
'id' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/creator/info', params={
'id': 'string'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/creator/info', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/creator/info?id=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/creator/info", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/creator/info
Get Creator
Retrieve detailed information about a specific creator.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | query | string | true | The GUID of the creator being searched. |
Example responses
200 Response
{
"id": "59f94c0bdd241b70349eb72b",
"owner": "59f94c0bdd241b70349eb723",
"title": "LinusTechTips",
"urlname": "linustechtips",
"description": "We make entertaining videos about technology, including tech reviews, showcases and other content.",
"about": "# We're LinusTechTips\nWe make videos and stuff, cool eh?",
"category": {
"title": "Technology"
},
"cover": {
"width": 1990,
"height": 519,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867.jpeg",
"childImages": [
{
"width": 1245,
"height": 325,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867_1245x325.jpeg"
}
]
},
"icon": {
"width": 600,
"height": 600,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205.jpeg",
"childImages": [
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_250x250.jpeg"
},
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_100x100.jpeg"
}
]
},
"liveStream": {
"id": "5c13f3c006f1be15e08e05c0",
"title": "First Linux Stream",
"description": "<p>chat on Twitch</p>",
"thumbnail": {
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412_400x225.jpeg"
}
]
},
"owner": "59f94c0bdd241b70349eb72b",
"streamPath": "/api/video/v1/us-east-1.758417551536.channel.yKkxur4ukc0B.m3u8",
"offline": {
"title": "Offline",
"description": "We're offline for now – please check back later!",
"thumbnail": {
"width": 1920,
"height": 1080,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_400x225.jpeg"
},
{
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_1200x675.jpeg"
}
]
}
}
},
"subscriptionPlans": [
{
"id": "5d48d0306825b5780db93d07",
"title": "LTT Supporter (1080p)",
"description": "Includes:\n- Early access (when possible)\n- Live Streaming\n- Behind-the-scenes, cutting room floor & exclusives\n\nNOTE: Tech Quickie and TechLinked are included for now, but will move to their own Floatplane pages in the future",
"price": "5.00",
"priceYearly": "50.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": true,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
},
{
"id": "5e0ba6ac14e2590f760a0f0f",
"title": "LTT Supporter Plus",
"description": "You are the real MVP. \n\nYour support helps us continue to build out our team, drive up production values, run experiments that might lose money for a long time (*cough* LTX *cough*) and otherwise be the best content creators we can be.\n\nThis tier includes all the perks of the previous ones, but at floatplane's glorious high bitrate 4K!",
"price": "10.00",
"priceYearly": "100.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": false,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
}
],
"discoverable": true,
"subscriberCountDisplay": "total",
"incomeDisplay": false,
"socialLinks": {
"instagram": "https://www.instagram.com/linustech/",
"website": "https://linustechtips.com",
"facebook": "https://www.facebook.com/LinusTech",
"youtube": "https://www.youtube.com/user/LinusTechTips",
"twitter": "https://twitter.com/linustech"
}
}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Creator information returned | CreatorModelV3 |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
getCreators
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/creator/list?search=string \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/creator/list?search=string HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/creator/list?search=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/creator/list',
params: {
'search' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/creator/list', params={
'search': 'string'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/creator/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/creator/list?search=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/creator/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/creator/list
Get Creators
Retrieve and search for all creators on Floatplane. Useful for creator discovery and filtering.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| search | query | string | true | Optional search string for finding particular creators on the platform. |
Example responses
200 Response
[
{
"id": "59f94c0bdd241b70349eb72b",
"owner": "59f94c0bdd241b70349eb723",
"title": "LinusTechTips",
"urlname": "linustechtips",
"description": "We make entertaining videos about technology, including tech reviews, showcases and other content.",
"about": "# We're LinusTechTips\nWe make videos and stuff, cool eh?",
"category": {
"title": "Technology"
},
"cover": {
"width": 1990,
"height": 519,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867.jpeg",
"childImages": [
{
"width": 1245,
"height": 325,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867_1245x325.jpeg"
}
]
},
"icon": {
"width": 600,
"height": 600,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205.jpeg",
"childImages": [
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_250x250.jpeg"
},
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_100x100.jpeg"
}
]
},
"liveStream": {
"id": "5c13f3c006f1be15e08e05c0",
"title": "First Linux Stream",
"description": "<p>chat on Twitch</p>",
"thumbnail": {
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412_400x225.jpeg"
}
]
},
"owner": "59f94c0bdd241b70349eb72b",
"streamPath": "/api/video/v1/us-east-1.758417551536.channel.yKkxur4ukc0B.m3u8",
"offline": {
"title": "Offline",
"description": "We're offline for now – please check back later!",
"thumbnail": {
"width": 1920,
"height": 1080,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_400x225.jpeg"
},
{
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_1200x675.jpeg"
}
]
}
}
},
"subscriptionPlans": [
{
"id": "5d48d0306825b5780db93d07",
"title": "LTT Supporter (1080p)",
"description": "Includes:\n- Early access (when possible)\n- Live Streaming\n- Behind-the-scenes, cutting room floor & exclusives\n\nNOTE: Tech Quickie and TechLinked are included for now, but will move to their own Floatplane pages in the future",
"price": "5.00",
"priceYearly": "50.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": true,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
},
{
"id": "5e0ba6ac14e2590f760a0f0f",
"title": "LTT Supporter Plus",
"description": "You are the real MVP. \n\nYour support helps us continue to build out our team, drive up production values, run experiments that might lose money for a long time (*cough* LTX *cough*) and otherwise be the best content creators we can be.\n\nThis tier includes all the perks of the previous ones, but at floatplane's glorious high bitrate 4K!",
"price": "10.00",
"priceYearly": "100.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": false,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
}
],
"discoverable": true,
"subscriberCountDisplay": "total",
"incomeDisplay": false,
"socialLinks": {
"instagram": "https://www.instagram.com/linustech/",
"twitter": "https://twitter.com/linustech",
"website": "https://linustechtips.com",
"facebook": "https://www.facebook.com/LinusTech",
"youtube": "https://www.youtube.com/user/LinusTechTips"
}
},
{
"id": "5ae0f8114336369a2c3619b6",
"owner": "5ae0f8114336369a2c3619b4",
"title": "TechDeals",
"urlname": "tech_deals",
"description": "Welcome to Tech Deals on Floatplane! Having nothing to do with actual floatplanes since 2016, we are proud to be part of the launch of Floatplane! We make videos about technology!",
"about": "Welcome to Tech Deals on Floatplane! Having nothing to do with actual floatplanes since 2016, we are proud to be part of the launch of Floatplane! We make videos about technology!",
"category": {
"title": "Technology"
},
"cover": {
"width": 1923,
"height": 502,
"path": "https://pbs.floatplane.com/cover_images/5ae0f8114336369a2c3619b6/264955378957772_1600880420171.jpeg",
"childImages": [
{
"width": 1245,
"height": 325,
"path": "https://pbs.floatplane.com/cover_images/5ae0f8114336369a2c3619b6/264955378957772_1600880420171_1245x325.jpeg"
}
]
},
"icon": {
"width": 720,
"height": 720,
"path": "https://pbs.floatplane.com/creator_icons/5ae0f8114336369a2c3619b6/223941270270735_1600882905853.jpeg",
"childImages": [
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/creator_icons/5ae0f8114336369a2c3619b6/223941270270735_1600882905853_100x100.jpeg"
},
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/creator_icons/5ae0f8114336369a2c3619b6/223941270270735_1600882905853_250x250.jpeg"
}
]
},
"liveStream": {
"id": "5c3d7ec606f1be114ca1e59c",
"title": "CES 2020 - Bonus Coverage for Floatplane Subs",
"description": "Welcome to the Tech Deals stream – this should be fun!",
"thumbnail": {
"width": 1199,
"height": 674,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c3d7ec606f1be114ca1e59c/973032281888832_1560301350562.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c3d7ec606f1be114ca1e59c/973032281888832_1560301350562_400x225.jpeg"
}
]
},
"owner": "5ae0f8114336369a2c3619b6",
"streamPath": "/api/video/v1/us-east-1.758417551536.channel.kdUMaxvL2eyW.m3u8",
"offline": {
"title": "We're offline at the moment. Please check back later!",
"description": "We're offline at the moment. Please check back later!",
"thumbnail": null
}
},
"subscriptionPlans": [
{
"id": "5d506f2f7c7e6afa2ef1e246",
"title": "1080p Plan - Videos on Demand + Live Streams",
"description": "This plan gives you access to all published videos at up to 1080p detail. You also get access to 1080p live streams exclusive to Floatplane. This also grants you access to the private channels on the Tech Deals Discord, link your Floatplane account to Discord to be automatically upgraded.",
"price": "5.00",
"priceYearly": "50.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": false,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
},
{
"id": "5e1710272aae3bc9cabdf505",
"title": "4K - All Access Plan",
"description": "This plan gives you access to all published videos at up to 4K detail. You also get access to 1080p live streams exclusive to Floatplane. This also grants you access to the private channels on the Tech Deals Discord, link your Floatplane account to Discord to be automatically upgraded. BONUS - This plan allows you to download the videos in high quality for off-line viewing! This is a great way to increase your level of support if you really love our content!",
"price": "10.00",
"priceYearly": "100.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": false,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
}
],
"discoverable": true,
"subscriberCountDisplay": "all",
"incomeDisplay": false,
"socialLinks": {
"youtube": "https://www.youtube.com/techdeals",
"twitter": "https://twitter.com/TechDeals_16"
}
},
{
"id": "5d2fd26df33b8d14fc5ff48d",
"owner": "5c4280ff4160af3309527f37",
"title": "EposVox",
"urlname": "eposvox",
"description": "The ORIGINAL content creator and streaming focused tech education channel. EposVox, the Stream Professor, is here to give you how to videos, tutorials, tips and tricks, as well as gear reviews and benchmarks to get the most out of your tech experience. \nWhile content creation and streaming (especially with software like OBS Studio and XSplit) are primary focuses of content, ultimately the goal is to make technology easier and more fun to use. Education is number one, entertainment is sometimes given.\nThe analog tech nostalgia is just inherent to being a 90s kid.\n\n📬 Shipping: \nP.O. Box 459 \nJeffersonville, IN 47131",
"about": "The ORIGINAL content creator and streaming focused tech education channel. EposVox, the Stream Professor, is here to give you how to videos, tutorials, tips and tricks, as well as gear reviews and benchmarks to get the most out of your tech experience. \nWhile content creation and streaming (especially with software like OBS Studio and XSplit) are primary focuses of content, ultimately the goal is to make technology easier and more fun to use. Education is number one, entertainment is sometimes given.\nThe analog tech nostalgia is just inherent to being a 90s kid.\n\n📬 Shipping: \nP.O. Box 459 \nJeffersonville, IN 47131",
"category": {
"title": "Technology"
},
"cover": {
"width": 1992,
"height": 520,
"path": "https://pbs.floatplane.com/cover_images/5d2fd26df33b8d14fc5ff48d/879571788095471_1563437947857.jpeg",
"childImages": [
{
"width": 1245,
"height": 325,
"path": "https://pbs.floatplane.com/cover_images/5d2fd26df33b8d14fc5ff48d/879571788095471_1563437947857_1245x325.jpeg"
}
]
},
"icon": {
"width": 720,
"height": 720,
"path": "https://pbs.floatplane.com/creator_icons/5d2fd26df33b8d14fc5ff48d/136876584569877_1596766926335.jpeg",
"childImages": [
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/creator_icons/5d2fd26df33b8d14fc5ff48d/136876584569877_1596766926335_100x100.jpeg"
},
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/creator_icons/5d2fd26df33b8d14fc5ff48d/136876584569877_1596766926335_250x250.jpeg"
}
]
},
"liveStream": {
"id": "5d2fd230f33b8d14fc5ff48c",
"title": "EposVox Live Testing",
"description": "Not much to see here... yet!",
"thumbnail": null,
"owner": "5d2fd26df33b8d14fc5ff48d",
"streamPath": "/live_abr/eposvox",
"offline": {
"title": null,
"description": "Not much to see here... yet!",
"thumbnail": {
"width": 1920,
"height": 1080,
"path": "https://pbs.floatplane.com/stream_thumbnails/5d2fd230f33b8d14fc5ff48c/859602689851697_1563602860461.jpeg",
"childImages": [
{
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5d2fd230f33b8d14fc5ff48c/859602689851697_1563602860461_1200x675.jpeg"
},
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5d2fd230f33b8d14fc5ff48c/859602689851697_1563602860461_400x225.jpeg"
}
]
}
}
},
"subscriptionPlans": [
{
"id": "5d32780027050d0c9a0b10aa",
"title": "FLOATPLANE FLOATBOATS (1080p)",
"description": "Primary Floatplane sub. Help me build the best tech education platform on the internet and keep diving into crazy nerdy details no one else covers. This tier gets you all of the currently-available video playback, downloads and live streaming. BTS Vlogs & Early Access, too! All up to 1080p quality.\nVideos will be given as early access as much as a month (though usually just a week) before YouTube, when available.",
"price": "5.00",
"priceYearly": null,
"currency": "usd",
"logo": null,
"interval": "month",
"featured": false,
"discordServers": [],
"discordRoles": []
},
{
"id": "5d48aaee6825b5780db93c80",
"title": "Super Sub (4k)",
"description": "You get... EVERYTHING! Future features will expand here, but for now, you get everything already available, and this is just here for those who want to support a little more :)",
"price": "10.00",
"priceYearly": null,
"currency": "usd",
"logo": null,
"interval": "month",
"featured": false,
"discordServers": [],
"discordRoles": []
}
],
"discoverable": true,
"subscriberCountDisplay": "hide",
"incomeDisplay": false,
"socialLinks": {
"youtube": "https://www.youtube.com/eposvox",
"instagram": "https://www.instagram.com/eposvox/",
"website": "https://eposvox.com",
"facebook": "https://www.facebook.com/eposvoxofficial",
"twitter": "https://twitter.com/eposvox"
}
}
]
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Creators returned | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [CreatorModelV3] | false | none | none |
| » id | string | true | none | none |
| » owner | string | true | none | none |
| » title | string | true | none | none |
| » urlname | string | true | none | none |
| » description | string | true | none | none |
| » about | string | true | none | none |
| » category | object | true | none | none |
| »» title | string | true | none | none |
| » cover | ImageModel | true | none | none |
| »» width | integer | true | none | none |
| »» height | integer | true | none | none |
| »» path | string(uri) | true | none | none |
| »» size | integer | false | none | none |
| »» childImages | [ChildImageModel] | false | none | none |
| »»» width | integer | true | none | none |
| »»» height | integer | true | none | none |
| »»» path | string(uri) | true | none | none |
| » icon | ImageModel | true | none | none |
| » liveStream | LiveStreamModel | false | none | none |
| »» id | string | true | none | none |
| »» title | string | true | none | none |
| »» description | string | true | none | none |
| »» thumbnail | ImageModel | false | none | none |
| »» owner | string | true | none | none |
| »» streamPath | string | true | none | none |
| »» offline | object | true | none | none |
| »»» title | string | false | none | none |
| »»» description | string | false | none | none |
| »»» thumbnail | ImageModel | false | none | none |
| » subscriptionPlans | [SubscriptionPlanModel] | true | none | none |
| »» id | string | true | none | none |
| »» title | string | true | none | none |
| »» description | string | true | none | none |
| »» price | string | false | none | none |
| »» priceYearly | string | false | none | none |
| »» currency | string | true | none | none |
| »» logo | string | false | none | none |
| »» interval | string | true | none | none |
| »» featured | boolean | true | none | none |
| »» allowGrandfatheredAccess | boolean | false | none | none |
| »» discordServers | [DiscordServerModel] | true | none | none |
| »»» id | string | true | none | none |
| »»» guildName | string | true | none | none |
| »»» guildIcon | string | true | none | none |
| »»» inviteLink | string(uri) | true | none | none |
| »»» inviteMode | string | true | none | none |
| »» discordRoles | [DiscordRoleModel] | true | none | none |
| »»» server | string | true | none | none |
| »»» roleName | string | true | none | none |
| » discoverable | boolean | true | none | none |
| » subscriberCountDisplay | string | true | none | none |
| » incomeDisplay | boolean | true | none | none |
| » socialLinks | SocialLinksModel | true | none | none |
| string(uri) | false | none | none | |
| string(uri) | false | none | none | |
| »» website | string(uri) | false | none | none |
| string(uri) | false | none | none | |
| »» youtube | string(uri) | false | none | none |
getCreatorByName
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/creator/named \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/creator/named HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/creator/named',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/creator/named',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/creator/named', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/creator/named', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/creator/named");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/creator/named", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/creator/named
Get Creator By Name
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
discoverCreatorsV3
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/creator/discover \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/creator/discover HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/creator/discover',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/creator/discover',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/creator/discover', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/creator/discover', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/creator/discover");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/creator/discover", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/creator/discover
Discover Creators
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listCreatorCategoriesV3
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/creator/category/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/creator/category/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/creator/category/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/creator/category/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/creator/category/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/creator/category/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/creator/category/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/creator/category/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/creator/category/list
List Creator Categories
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
bindCreatorInviteCode
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/creator/invite/bind \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/creator/invite/bind HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/creator/invite/bind',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/creator/invite/bind',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/creator/invite/bind', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/creator/invite/bind', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/creator/invite/bind");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/creator/invite/bind", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/creator/invite/bind
Bind Creator Invite Code
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getCreatorInviteCodeInfo
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/creator/invite/info \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/creator/invite/info HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/creator/invite/info',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/creator/invite/info',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/creator/invite/info', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/creator/invite/info', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/creator/invite/info");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/creator/invite/info", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/creator/invite/info
Get Creator Invite Code Info
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
claimCreatorInviteCode
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/creator/invite/claim \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/creator/invite/claim HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/creator/invite/claim',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/creator/invite/claim',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/creator/invite/claim', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/creator/invite/claim', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/creator/invite/claim");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/creator/invite/claim", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/creator/invite/claim
Claim Creator Invite Code
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
CreatorAgreementV2
Get and agree to Creator<->Floatplane agreements.
getAgreement
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/api/creator/agreement/ \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/api/creator/agreement/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/api/creator/agreement/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/api/creator/agreement/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/api/creator/agreement/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/api/creator/agreement/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/api/creator/agreement/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/api/creator/agreement/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/api/creator/agreement/
Get Agreement
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
confirmAgreement
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/api/creator/agreement/confirm \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/api/creator/agreement/confirm HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/api/creator/agreement/confirm',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/api/creator/agreement/confirm',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/api/creator/agreement/confirm', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/api/creator/agreement/confirm', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/api/creator/agreement/confirm");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/api/creator/agreement/confirm", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/api/creator/agreement/confirm
Confirm Agreement
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
CreatorPlanFeatureLevelsV2
Manage features for creator subscription plans.
listCreatorPlanFeatureLevels
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/creatorplanfeaturelevel/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/creatorplanfeaturelevel/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/creatorplanfeaturelevel/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/creatorplanfeaturelevel/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/creatorplanfeaturelevel/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/creatorplanfeaturelevel/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/creatorplanfeaturelevel/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/creatorplanfeaturelevel/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/creatorplanfeaturelevel/list
List Creator Plan Feature Levels
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
calculateCreatorPlanFeatureCosts
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/creatorplanfeaturelevel/cost \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/creatorplanfeaturelevel/cost HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/creatorplanfeaturelevel/cost',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/creatorplanfeaturelevel/cost',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/creatorplanfeaturelevel/cost', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/creatorplanfeaturelevel/cost', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/creatorplanfeaturelevel/cost");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/creatorplanfeaturelevel/cost", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/creatorplanfeaturelevel/cost
Calculate Creator Plan Feature Costs
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
planFeatureLevels
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/plan/feature/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/plan/feature/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/plan/feature/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/plan/feature/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/plan/feature/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/plan/feature/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/plan/feature/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/plan/feature/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/plan/feature/list
Plan Feature Levels
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
CreatorSubscriptionPlanV2
Manage creator subscription plans.
publishSubscriptionPlan
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/plan/publish \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/plan/publish HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/plan/publish',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/plan/publish',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/plan/publish', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/plan/publish', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/plan/publish");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/plan/publish", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/plan/publish
Publish Subscription Plan
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
updateSubscriptionPlans
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/plan/update \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/plan/update HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/plan/update',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/plan/update',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/plan/update', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/plan/update', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/plan/update");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/plan/update", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/plan/update
Update Subscription Plans
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listSubscriptionPlans
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/plan/list \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/plan/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/plan/list',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/plan/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/plan/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/plan/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/plan/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/plan/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/plan/list
List Subscription Plans
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getCreatorSubInfoPublic
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/plan/info?creatorId=string \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/plan/info?creatorId=string HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/plan/info?creatorId=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/plan/info',
params: {
'creatorId' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/plan/info', params={
'creatorId': 'string'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/plan/info', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/plan/info?creatorId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/plan/info", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/plan/info
Get Creator Sub Info Public
Retrieve detailed information about a creator’s subscription plans and their subscriber count.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| creatorId | query | string | true | The GUID for the creator being search. |
Example responses
200 Response
{
"totalSubscriberCount": 19256,
"totalIncome": null,
"plans": [
{
"discordRoles": [
{
"server": "5baa8838d9f3aa0a83acd429",
"roleName": "Floatplane.com Pilot"
},
{
"server": "5e34cd9a9dbb744872192895",
"roleName": "Pilot"
}
],
"createdAt": "2019-08-06T00:56:16.180Z",
"updatedAt": "2021-09-09T16:55:02.620Z",
"id": "5d48d0306825b5780db93d07",
"title": "LTT Supporter (1080p)",
"enabled": true,
"featured": true,
"description": "Includes:\n- Early access (when possible)\n- Live Streaming\n- Behind-the-scenes, cutting room floor & exclusives\n\nNOTE: Tech Quickie and TechLinked are included for now, but will move to their own Floatplane pages in the future",
"price": "5.00",
"priceYearly": "50.00",
"paymentID": 19,
"currency": "usd",
"trialPeriod": 0,
"allowGrandfatheredAccess": false,
"logo": null,
"creator": "59f94c0bdd241b70349eb72b",
"discordServers": [
{
"id": "5baa8838d9f3aa0a83acd429",
"guildName": "LinusTechTips",
"guildIcon": "a_528743a32b33b5eb227a8405d5593473",
"inviteLink": "https://discord.gg/LTT",
"inviteMode": "link"
},
{
"id": "5e34cd9a9dbb744872192895",
"guildName": "LTT Minecraft Network",
"guildIcon": "4f7f812b49196b1646bdcdb84b948c84",
"inviteLink": "https://discord.gg/VVpwBPXrMc",
"inviteMode": "link"
}
],
"userIsSubscribed": true,
"userIsGrandfathered": false,
"enabledGlobal": true,
"interval": "month"
},
{
"discordRoles": [
{
"server": "5baa8838d9f3aa0a83acd429",
"roleName": "Floatplane.com Pilot"
},
{
"server": "5e34cd9a9dbb744872192895",
"roleName": "Pilot"
}
],
"createdAt": "2019-12-31T19:51:08.009Z",
"updatedAt": "2020-11-07T01:33:31.617Z",
"id": "5e0ba6ac14e2590f760a0f0f",
"title": "LTT Supporter Plus",
"enabled": true,
"featured": false,
"description": "You are the real MVP. \n\nYour support helps us continue to build out our team, drive up production values, run experiments that might lose money for a long time (*cough* LTX *cough*) and otherwise be the best content creators we can be.\n\nThis tier includes all the perks of the previous ones, but at floatplane's glorious high bitrate 4K!",
"price": "10.00",
"priceYearly": "100.00",
"paymentID": 66,
"currency": "usd",
"trialPeriod": 0,
"allowGrandfatheredAccess": false,
"logo": null,
"creator": "59f94c0bdd241b70349eb72b",
"discordServers": [
{
"id": "5baa8838d9f3aa0a83acd429",
"guildName": "LinusTechTips",
"guildIcon": "a_528743a32b33b5eb227a8405d5593473",
"inviteLink": "https://discord.gg/LTT",
"inviteMode": "link"
},
{
"id": "5e34cd9a9dbb744872192895",
"guildName": "LTT Minecraft Network",
"guildIcon": "4f7f812b49196b1646bdcdb84b948c84",
"inviteLink": "https://discord.gg/VVpwBPXrMc",
"inviteMode": "link"
}
],
"userIsSubscribed": false,
"userIsGrandfathered": false,
"enabledGlobal": true,
"interval": "month"
}
]
}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Information about the plans for the creator | PlanInfoV2Response |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
CreatorSubscriptionPlanV3
Manage creator subscription plans.
getPlansForContent
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/plan/content \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/plan/content HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/plan/content',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/plan/content',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/plan/content', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/plan/content', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/plan/content");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/plan/content", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/plan/content
Get Plans For Content
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
DiscordBotV2
Manage Discord bots.
link
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/discord/bot/link \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/discord/bot/link HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/discord/bot/link',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/discord/bot/link',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/discord/bot/link', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/discord/bot/link', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/discord/bot/link");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/discord/bot/link", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/discord/bot/link
Link
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
linkCallback
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/discord/bot/link/callback \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/discord/bot/link/callback HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/discord/bot/link/callback',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/discord/bot/link/callback',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/discord/bot/link/callback', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/discord/bot/link/callback', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/discord/bot/link/callback");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/discord/bot/link/callback", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/discord/bot/link/callback
Link Callback
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listDiscordBotConnections
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/discord/bot/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/discord/bot/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/discord/bot/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/discord/bot/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/discord/bot/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/discord/bot/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/discord/bot/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/discord/bot/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/discord/bot/list
List Connections
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
unlink
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/discord/bot/unlink \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/discord/bot/unlink HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/discord/bot/unlink',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/discord/bot/unlink',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/discord/bot/unlink', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/discord/bot/unlink', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/discord/bot/unlink");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/discord/bot/unlink", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/discord/bot/unlink
Unlink
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getDiscordBotInfo
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/discord/bot/info \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/discord/bot/info HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/discord/bot/info',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/discord/bot/info',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/discord/bot/info', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/discord/bot/info', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/discord/bot/info");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/discord/bot/info", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/discord/bot/info
Info
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
generateInviteLink
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/discord/bot/invite/generate \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/discord/bot/invite/generate HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/discord/bot/invite/generate',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/discord/bot/invite/generate',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/discord/bot/invite/generate', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/discord/bot/invite/generate', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/discord/bot/invite/generate");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/discord/bot/invite/generate", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/discord/bot/invite/generate
Generate Invite Link
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
updateLink
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/discord/bot/update \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/discord/bot/update HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/discord/bot/update',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/discord/bot/update',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/discord/bot/update', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/discord/bot/update', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/discord/bot/update");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/discord/bot/update", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/discord/bot/update
Update Link
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
joinDiscordServers
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/discord/server/join \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/discord/server/join HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/discord/server/join',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/discord/server/join',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/discord/server/join', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/discord/server/join', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/discord/server/join");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/discord/server/join", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/discord/server/join
Join Discord Servers
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
EdgesV2
Get edge server information for media playback.
getEdges
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/edges \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/edges HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/edges',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/edges',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/edges', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/edges', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/edges");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/edges", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/edges
Get Edges
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getVideoUrl
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/video/url \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/video/url HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/url',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/video/url',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/video/url', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/video/url', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/url");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/video/url", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/video/url
Get Video Url
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
FAQV2
Get FAQs.
getFaqSections
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/faq/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/faq/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/faq/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/faq/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/faq/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/faq/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/faq/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/faq/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/faq/list
Get Faq Sections
Retrieve a list of FAQ sections to display to the user. Each section contains one or more FAQ items. This is normally accessible from https://www.floatplane.com/support. Note that the answers to the FAQs will contain HTML.
Example responses
200 Response
[
{
"faqs": [
{
"createdAt": "2019-10-03T18:45:49.157Z",
"updatedAt": "2019-12-19T22:06:01.843Z",
"id": "5d9641ddbced315cc7d9135f",
"question": "How do you get the PewPew emote? ",
"answer": "<p><span style=\"background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);\">The PewPew emote was as an account reward for users who had succesfully set up a payment method on Floatplane.com before January 1st 2019.</span></p>",
"status": "public",
"link": "g-pewpew-emote",
"order": 1,
"faqSection": "5d9641d0b3e3285cfffe44a9"
}
],
"createdAt": "2019-10-03T18:45:36.840Z",
"updatedAt": "2019-12-19T22:08:50.481Z",
"id": "5d9641d0b3e3285cfffe44a9",
"name": "General",
"description": "For general questions about Floatplane",
"status": "public",
"order": 1
},
{
"faqs": [
{
"createdAt": "2019-10-03T18:26:28.413Z",
"updatedAt": "2020-01-28T03:23:15.918Z",
"id": "5d963d54221c575ce366b7e7",
"question": "Can you upgrade me to the LTT supporter (1080p) subscription? ",
"answer": "<p>At this time there is no difference between the two channels in regards to features that are unlocked. The only difference between the two is the price.</p>",
"status": "public",
"link": "sub-u-payment",
"order": 1,
"faqSection": "5d8d1be612c2535c9dc067d1"
}
],
"createdAt": "2019-09-26T20:13:26.431Z",
"updatedAt": "2020-01-28T03:24:33.443Z",
"id": "5d8d1be612c2535c9dc067d1",
"name": "Subscription and Payment ",
"description": "Life isn't always about money but this section is. If you have a payment or subscription issue look here. ",
"status": "public",
"order": 2
}
]
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [FaqSectionModel] | false | none | none |
| » faqs | [object] | true | none | none |
| »» createdAt | string(date-time) | true | none | none |
| »» updatedAt | string(date-time) | true | none | none |
| »» id | string | true | none | none |
| »» question | string | true | none | none |
| »» answer | string | true | none | This field may contain HTML that should be rendered. |
| »» status | string | true | none | none |
| »» link | string | true | none | none |
| »» order | number | true | none | none |
| »» faqSection | string | true | none | none |
| » createdAt | string(date-time) | true | none | none |
| » updatedAt | string(date-time) | true | none | none |
| » id | string | true | none | none |
| » name | string | true | none | none |
| » description | string | true | none | none |
| » status | string | true | none | none |
| » order | number | true | none | none |
Enumerated Values
| Property | Value |
|---|---|
| status | public |
| status | public |
IframeV2
Get video iframe data.
getVideoPlayer
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/get/player/{guid} \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/get/player/{guid} HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/get/player/{guid}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/get/player/{guid}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/get/player/{guid}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/get/player/{guid}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/get/player/{guid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/get/player/{guid}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/get/player/{guid}
Get Video Player
TODO - Not used in Floatplane code.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| guid | path | string | true | none |
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
ImageOptimizationsV2
Manage image media optimizations.
getOptimizationsV3
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/image/optimizations/ \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/image/optimizations/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/image/optimizations/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/image/optimizations/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/image/optimizations/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/image/optimizations/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/image/optimizations/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/image/optimizations/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/image/optimizations/
Get Optimizations
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
ImageOptimizationsV3
Manage image media optimizations.
getOptimizationsV2
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/image/optimizations/ \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/image/optimizations/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/image/optimizations/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/image/optimizations/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/image/optimizations/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/image/optimizations/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/image/optimizations/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/image/optimizations/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/image/optimizations/
Get Optimizations
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
LivestreamV2
Livestream chat and management.
renderLivePopout
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/v2/live/popout \
-H 'Accept: application/json'
GET https://www.floatplane.com/v2/live/popout HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/v2/live/popout',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/v2/live/popout',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/v2/live/popout', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/v2/live/popout', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/v2/live/popout");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/v2/live/popout", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v2/live/popout
Render Live Popout
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
updateConfig
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/live/config/update \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/live/config/update HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/live/config/update',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/live/config/update',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/live/config/update', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/live/config/update', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/live/config/update");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/live/config/update", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/live/config/update
Update Config
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
uploadLiveThumbnail
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/live/thumbnail/upload \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/live/thumbnail/upload HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/live/thumbnail/upload',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/live/thumbnail/upload',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/live/thumbnail/upload', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/live/thumbnail/upload', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/live/thumbnail/upload");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/live/thumbnail/upload", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/live/thumbnail/upload
Upload Thumbnail
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
ModerationV2
Moderation actions, for users and comments.
banUserV2
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/moderation/user/ban \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/moderation/user/ban HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/moderation/user/ban',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/moderation/user/ban',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/moderation/user/ban', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/moderation/user/ban', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/moderation/user/ban");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/moderation/user/ban", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/moderation/user/ban
Ban User
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
unbanUserV2
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/moderation/user/unban \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/moderation/user/unban HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/moderation/user/unban',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/moderation/user/unban',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/moderation/user/unban', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/moderation/user/unban', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/moderation/user/unban");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/moderation/user/unban", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/moderation/user/unban
Unban User
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listBanV2
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/moderation/user/ban/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/moderation/user/ban/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/moderation/user/ban/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/moderation/user/ban/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/moderation/user/ban/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/moderation/user/ban/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/moderation/user/ban/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/moderation/user/ban/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/moderation/user/ban/list
List Ban
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
hideCommentV2
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/moderation/comment/hide \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/moderation/comment/hide HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/moderation/comment/hide',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/moderation/comment/hide',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/moderation/comment/hide', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/moderation/comment/hide', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/moderation/comment/hide");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/moderation/comment/hide", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/moderation/comment/hide
Hide Comment
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
unhideCommentV2
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/moderation/comment/unhide \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/moderation/comment/unhide HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/moderation/comment/unhide',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/moderation/comment/unhide',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/moderation/comment/unhide', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/moderation/comment/unhide', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/moderation/comment/unhide");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/moderation/comment/unhide", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/moderation/comment/unhide
Unhide Comment
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
moderateVideoComment
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/comment/moderate/ \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/comment/moderate/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/comment/moderate/',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/comment/moderate/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/comment/moderate/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/comment/moderate/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/comment/moderate/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/comment/moderate/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/comment/moderate/
Moderate Video Comment
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
userBanStatusV2
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/moderator/userBanStatus \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/moderator/userBanStatus HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/moderator/userBanStatus',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/moderator/userBanStatus',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/moderator/userBanStatus', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/moderator/userBanStatus', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/moderator/userBanStatus");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/moderator/userBanStatus", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/moderator/userBanStatus
User Ban Status
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
userUnbanV2
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/moderator/user/unban \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/moderator/user/unban HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/moderator/user/unban',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/moderator/user/unban',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/moderator/user/unban', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/moderator/user/unban', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/moderator/user/unban");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/moderator/user/unban", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/moderator/user/unban
User Unban
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
userInfoV2
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/moderation/user/info \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/moderation/user/info HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/moderation/user/info',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/moderation/user/info',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/moderation/user/info', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/moderation/user/info', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/moderation/user/info");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/moderation/user/info", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/moderation/user/info
User Info
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
ModerationV3
Moderation actions, for users and comments.
banUserV3
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/moderation/user/ban \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/moderation/user/ban HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/moderation/user/ban',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/moderation/user/ban',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/moderation/user/ban', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/moderation/user/ban', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/moderation/user/ban");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/moderation/user/ban", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/moderation/user/ban
Ban User
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
unbanUserV3
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/moderation/user/unban \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/moderation/user/unban HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/moderation/user/unban',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/moderation/user/unban',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/moderation/user/unban', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/moderation/user/unban', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/moderation/user/unban");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/moderation/user/unban", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/moderation/user/unban
Unban User
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listBanV3
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/moderation/user/ban/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/moderation/user/ban/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/moderation/user/ban/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/moderation/user/ban/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/moderation/user/ban/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/moderation/user/ban/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/moderation/user/ban/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/moderation/user/ban/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/moderation/user/ban/list
List Ban
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
hideCommentV3
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/moderation/comment/hide \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/moderation/comment/hide HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/moderation/comment/hide',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/moderation/comment/hide',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/moderation/comment/hide', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/moderation/comment/hide', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/moderation/comment/hide");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/moderation/comment/hide", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/moderation/comment/hide
Hide Comment
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
unhideCommentV3
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/moderation/comment/unhide \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/moderation/comment/unhide HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/moderation/comment/unhide',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/moderation/comment/unhide',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/moderation/comment/unhide', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/moderation/comment/unhide', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/moderation/comment/unhide");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/moderation/comment/unhide", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/moderation/comment/unhide
Unhide Comment
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
moderateComment
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/comment/moderate/ \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/comment/moderate/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/comment/moderate/',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/comment/moderate/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/comment/moderate/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/comment/moderate/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/comment/moderate/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/comment/moderate/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/comment/moderate/
Moderate Comment
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
userBanStatusV3
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/moderator/userBanStatus \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/moderator/userBanStatus HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/moderator/userBanStatus',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/moderator/userBanStatus',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/moderator/userBanStatus', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/moderator/userBanStatus', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/moderator/userBanStatus");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/moderator/userBanStatus", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/moderator/userBanStatus
User Ban Status
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
userUnbanV3
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/moderator/user/unban \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/moderator/user/unban HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/moderator/user/unban',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/moderator/user/unban',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/moderator/user/unban', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/moderator/user/unban', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/moderator/user/unban");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/moderator/user/unban", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/moderator/user/unban
User Unban
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
userInfoV3
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/moderation/user/info \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/moderation/user/info HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/moderation/user/info',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/moderation/user/info',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/moderation/user/info', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/moderation/user/info', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/moderation/user/info");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/moderation/user/info", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/moderation/user/info
User Info
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
PasswordResetV2
Password management.
sendPasswordReset
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/user/password/reset/request \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/user/password/reset/request HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/password/reset/request',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/user/password/reset/request',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/user/password/reset/request', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/user/password/reset/request', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/password/reset/request");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/user/password/reset/request", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/user/password/reset/request
Send Password Reset
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
resetPassword
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/user/password/reset \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/user/password/reset HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/password/reset',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/user/password/reset',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/user/password/reset', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/user/password/reset', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/password/reset");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/user/password/reset", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/user/password/reset
Reset Password
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
validateKey
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/user/password/reset/validate \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/user/password/reset/validate HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/password/reset/validate',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/user/password/reset/validate',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/user/password/reset/validate', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/user/password/reset/validate', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/password/reset/validate");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/user/password/reset/validate", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/user/password/reset/validate
Validate Key
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
PaymentsV2
User payment method/address/invoice management.
listPaymentMethods
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/payment/method/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/payment/method/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/payment/method/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/payment/method/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/payment/method/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/payment/method/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/payment/method/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/payment/method/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/payment/method/list
List Payment Methods
Retrieve a list of saved payment methods for the user’s account. Payment methods are how the user can pay for their subscription to creators on the platform.
Example responses
200 Response
[
{
"id": 54715,
"payment_processor": 1,
"default": true,
"card": {
"brand": "Visa",
"last4": "1234",
"exp_month": 11,
"exp_year": 2028,
"name": "Firstname Lastname"
}
}
]
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [PaymentMethodModel] | false | none | none |
| » id | integer | true | none | none |
| » payment_processor | integer | true | none | none |
| » default | boolean | true | none | none |
| » card | object | true | none | none |
| »» brand | string | true | none | none |
| »» last4 | string | true | none | none |
| »» exp_month | integer | true | none | none |
| »» exp_year | integer | true | none | none |
| »» name | string | true | none | none |
addPaymentMethod
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/payment/method/add \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/payment/method/add HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/payment/method/add',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/payment/method/add',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/payment/method/add', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/payment/method/add', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/payment/method/add");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/payment/method/add", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/payment/method/add
Add Payment Method
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
deletePaymentMethod
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/payment/method/delete \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/payment/method/delete HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/payment/method/delete',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/payment/method/delete',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/payment/method/delete', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/payment/method/delete', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/payment/method/delete");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/payment/method/delete", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/payment/method/delete
Delete Payment Method
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
setPrimaryPaymentMethod
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/payment/method/set \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/payment/method/set HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/payment/method/set',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/payment/method/set',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/payment/method/set', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/payment/method/set', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/payment/method/set");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/payment/method/set", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/payment/method/set
Set Primary Payment Method
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
estimateTaxes
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/payment/tax/estimate \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/payment/tax/estimate HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/payment/tax/estimate',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/payment/tax/estimate',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/payment/tax/estimate', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/payment/tax/estimate', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/payment/tax/estimate");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/payment/tax/estimate", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/payment/tax/estimate
Estimate Taxes
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
purchaseSubscription
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/payment/subscription/purchase \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/payment/subscription/purchase HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/payment/subscription/purchase',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/payment/subscription/purchase',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/payment/subscription/purchase', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/payment/subscription/purchase', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/payment/subscription/purchase");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/payment/subscription/purchase", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/payment/subscription/purchase
Purchase Subscription
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
cancelSubscription
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/payment/subscription/cancel \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/payment/subscription/cancel HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/payment/subscription/cancel',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/payment/subscription/cancel',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/payment/subscription/cancel', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/payment/subscription/cancel', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/payment/subscription/cancel");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/payment/subscription/cancel", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/payment/subscription/cancel
Cancel Subscription
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listAddresses
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/payment/address/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/payment/address/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/payment/address/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/payment/address/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/payment/address/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/payment/address/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/payment/address/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/payment/address/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/payment/address/list
List Addresses
Retrieve a list of billing addresses saved to the user’s account, to be used in conjunction with a payment method when purchasing subscriptions to creators.
Example responses
200 Response
[
{
"id": 44739,
"customerName": "Firstname Lastname",
"postalCode": "12345",
"line1": "123 Main St",
"city": "Metropolis",
"region": "NY",
"country": "US",
"default": true
}
]
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [PaymentAddressModel] | false | none | none |
| » id | integer | true | none | none |
| » customerName | string | true | none | none |
| » postalCode | string | true | none | none |
| » line1 | string | true | none | none |
| » city | string | true | none | none |
| » region | string | true | none | none |
| » country | string | true | none | none |
| » default | boolean | true | none | none |
addAddress
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/payment/address/add \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/payment/address/add HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/payment/address/add',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/payment/address/add',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/payment/address/add', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/payment/address/add', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/payment/address/add");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/payment/address/add", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/payment/address/add
Add Address
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
updateAddress
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/payment/address/update \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/payment/address/update HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/payment/address/update',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/payment/address/update',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/payment/address/update', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/payment/address/update', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/payment/address/update");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/payment/address/update", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/payment/address/update
Update Address
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
deleteAddress
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/payment/address/delete \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/payment/address/delete HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/payment/address/delete',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/payment/address/delete',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/payment/address/delete', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/payment/address/delete', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/payment/address/delete");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/payment/address/delete", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/payment/address/delete
Delete Address
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
setPrimaryAddress
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/payment/address/set \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/payment/address/set HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/payment/address/set',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/payment/address/set',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/payment/address/set', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/payment/address/set', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/payment/address/set");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/payment/address/set", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/payment/address/set
Set Primary Address
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
webhook
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/payment/webhook/{paymentProcessor} \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/payment/webhook/{paymentProcessor} HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/payment/webhook/{paymentProcessor}',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/payment/webhook/{paymentProcessor}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/payment/webhook/{paymentProcessor}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/payment/webhook/{paymentProcessor}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/payment/webhook/{paymentProcessor}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/payment/webhook/{paymentProcessor}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/payment/webhook/{paymentProcessor}
Webhook
TODO - Not used in Floatplane code.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| paymentProcessor | path | string | true | none |
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
webhookWithSubprocessor
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/payment/webhook/{paymentProcessor}/{subPaymentProcessor} \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/payment/webhook/{paymentProcessor}/{subPaymentProcessor} HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/payment/webhook/{paymentProcessor}/{subPaymentProcessor}',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/payment/webhook/{paymentProcessor}/{subPaymentProcessor}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/payment/webhook/{paymentProcessor}/{subPaymentProcessor}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/payment/webhook/{paymentProcessor}/{subPaymentProcessor}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/payment/webhook/{paymentProcessor}/{subPaymentProcessor}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/payment/webhook/{paymentProcessor}/{subPaymentProcessor}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/payment/webhook/{paymentProcessor}/{subPaymentProcessor}
Webhook With Subprocessor
TODO - Not used in Floatplane code.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| paymentProcessor | path | string | true | none |
| subPaymentProcessor | path | string | true | none |
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listInvoices
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/payment/invoice/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/payment/invoice/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/payment/invoice/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/payment/invoice/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/payment/invoice/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/payment/invoice/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/payment/invoice/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/payment/invoice/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/payment/invoice/list
List Invoices
Retrieve a list of paid or unpaid subscription invoices for the user.
Example responses
200 Response
{
"invoices": [
{
"id": 1234567,
"amountDue": 50,
"amountTax": 0,
"attemptCount": 0,
"currency": "usd",
"date": "2020-11-19T16:23:33.000Z",
"dateDue": null,
"periodStart": "2020-09-25T07:35:04.273Z",
"periodEnd": "2021-09-25T07:35:04.273Z",
"nextPaymentAttempt": "2020-09-25T07:35:04.273Z",
"paid": true,
"forgiven": false,
"refunded": false,
"subscriptions": [
{
"id": 1234567,
"subscription": 12345,
"periodStart": "2020-09-25T07:35:04.273Z",
"periodEnd": "2021-09-25T07:35:04.273Z",
"value": 50,
"amountSubtotal": 50,
"amountTotal": 50,
"amountTax": 0,
"plan": {
"id": "5d48d0306825b5780db93d07",
"title": "LTT Supporter (1080p)",
"creator": {
"id": "59f94c0bdd241b70349eb72b",
"title": "LinusTechTips",
"urlname": "linustechtips",
"icon": {
"width": 600,
"height": 600,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205.jpeg",
"childImages": [
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_250x250.jpeg"
},
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_100x100.jpeg"
}
]
}
}
}
}
]
}
]
}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | PaymentInvoiceListV2Response |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
SocketV2
Socket subscriptions and connections.
subscribeUser
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/socket/subscribe/user \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/socket/subscribe/user HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/socket/subscribe/user',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/socket/subscribe/user',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/socket/subscribe/user', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/socket/subscribe/user', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/socket/subscribe/user");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/socket/subscribe/user", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/socket/subscribe/user
Subscribe User
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
subscribeUserById
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/socket/subscribe/user/{id} \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/socket/subscribe/user/{id} HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/socket/subscribe/user/{id}',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/socket/subscribe/user/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/socket/subscribe/user/{id}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/socket/subscribe/user/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/socket/subscribe/user/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/socket/subscribe/user/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/socket/subscribe/user/{id}
Subscribe User By Id
TODO - Not used in Floatplane code.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | none |
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
SocketV3
Socket subscriptions and connections.
socketConnect
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/socket/connect \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/socket/connect HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/socket/connect',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/socket/connect',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/socket/connect', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/socket/connect', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/socket/connect");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/socket/connect", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/socket/connect
Connect
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
disconnectSocket
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/socket/disconnect \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/socket/disconnect HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/socket/disconnect',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/socket/disconnect',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/socket/disconnect', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/socket/disconnect', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/socket/disconnect");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/socket/disconnect", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/socket/disconnect
Disconnect
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
StripeV2
Stripe metadata.
retrievePublicKey
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/payment/stripe/pk \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/payment/stripe/pk HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/payment/stripe/pk',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/payment/stripe/pk',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/payment/stripe/pk', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/payment/stripe/pk', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/payment/stripe/pk");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/payment/stripe/pk", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/payment/stripe/pk
Retrieve Public Key
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
SubscriptionsV2
Get user subscriptions.
listUserSubscriptionsV2
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/user/subscriptions \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/user/subscriptions HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/subscriptions',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/user/subscriptions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/user/subscriptions', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/user/subscriptions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/subscriptions");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/user/subscriptions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/user/subscriptions
List User Subscriptions
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
doesUserHaveSubV2
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/user/subscribed \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/user/subscribed HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/subscribed',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/user/subscribed',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/user/subscribed', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/user/subscribed', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/subscribed");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/user/subscribed", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/user/subscribed
Does User Have Sub
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
SubscriptionsV3
Get user subscriptions.
listUserSubscriptionsV3
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/user/subscriptions \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/user/subscriptions HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/user/subscriptions',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/user/subscriptions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/user/subscriptions', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/user/subscriptions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/user/subscriptions");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/user/subscriptions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/user/subscriptions
List User Subscriptions
Retrieve a list of all active subscriptions for the user.
Example responses
200 Response
[
{
"startDate": "2020-09-25T07:35:04.273Z",
"endDate": "2021-09-25T07:35:04.273Z",
"paymentID": 12345,
"interval": "year",
"paymentCancelled": false,
"plan": {
"id": "5d48d0306825b5780db93d07",
"title": "LTT Supporter (1080p)",
"description": "Includes:\n- Early access (when possible)\n- Live Streaming\n- Behind-the-scenes, cutting room floor & exclusives\n\nNOTE: Tech Quickie and TechLinked are included for now, but will move to their own Floatplane pages in the future",
"price": "5.00",
"priceYearly": "50.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": true,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
},
"creator": "59f94c0bdd241b70349eb72b"
}
]
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Subscriptions returned | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [UserSubscriptionModel] | false | none | none |
| » startDate | string(date-time) | true | none | none |
| » endDate | string(date-time) | true | none | none |
| » paymentID | integer | true | none | none |
| » interval | string | true | none | none |
| » paymentCancelled | boolean | true | none | none |
| » plan | object | true | none | none |
| »» id | string | true | none | none |
| »» title | string | true | none | none |
| »» description | string | true | none | none |
| »» price | string | false | none | none |
| »» priceYearly | string | false | none | none |
| »» currency | string | true | none | none |
| »» logo | string | false | none | none |
| »» interval | string | true | none | none |
| »» featured | boolean | true | none | none |
| »» allowGrandfatheredAccess | boolean | false | none | none |
| »» discordServers | [DiscordServerModel] | true | none | none |
| »»» id | string | true | none | none |
| »»» guildName | string | true | none | none |
| »»» guildIcon | string | true | none | none |
| »»» inviteLink | string(uri) | true | none | none |
| »»» inviteMode | string | true | none | none |
| »» discordRoles | [DiscordRoleModel] | true | none | none |
| »»» server | string | true | none | none |
| »»» roleName | string | true | none | none |
| » creator | string | true | none | none |
Links
getContent => getMultiCreatorBlogPosts
| Parameter | Expression |
|---|---|
| ids | $response.body#/0/creator |
getCreators => getInfo
| Parameter | Expression |
|---|---|
| creatorGUID | $response.body#/0/creator |
doesUserHaveSubV3
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/user/subscribed \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/user/subscribed HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/user/subscribed',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/user/subscribed',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/user/subscribed', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/user/subscribed', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/user/subscribed");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/user/subscribed", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/user/subscribed
Does User Have Sub
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
SupportV2
User support ticket management
submitSupport
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/support/ \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/support/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/support/',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/support/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/support/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/support/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/support/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/support/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/support/
Submit Support
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getTicketTypes
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/support/ticket/types \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/support/ticket/types HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/support/ticket/types',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/support/ticket/types',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/support/ticket/types', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/support/ticket/types', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/support/ticket/types");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/support/ticket/types", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/support/ticket/types
Get Ticket Types
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
SyncV2
Sync connections.
syncConnect
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/sync/connect \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/sync/connect HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/sync/connect',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/sync/connect',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/sync/connect', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/sync/connect', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/sync/connect");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/sync/connect", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/sync/connect
Connect
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
disconnectSync
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/sync/disconnect \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/sync/disconnect HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/sync/disconnect',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/sync/disconnect',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/sync/disconnect', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/sync/disconnect', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/sync/disconnect");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/sync/disconnect", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/sync/disconnect
Disconnect
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
TranscodingV2
Creator transcoding progress, notifications, and subscriptions.
getTranscodeProgress
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/video/transcode/progress \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/video/transcode/progress HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/transcode/progress',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/video/transcode/progress',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/video/transcode/progress', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/video/transcode/progress', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/transcode/progress");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/video/transcode/progress", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/video/transcode/progress
Get Transcode Progress
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
progressSubscribe
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/video/transcode/progress/subscribe \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/video/transcode/progress/subscribe HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/transcode/progress/subscribe',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/video/transcode/progress/subscribe',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/video/transcode/progress/subscribe', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/video/transcode/progress/subscribe', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/transcode/progress/subscribe");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/video/transcode/progress/subscribe", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/video/transcode/progress/subscribe
Progress Subscribe
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
progressUnsubscribe
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/video/transcode/progress/unsubscribe \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/video/transcode/progress/unsubscribe HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/transcode/progress/unsubscribe',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/video/transcode/progress/unsubscribe',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/video/transcode/progress/unsubscribe', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/video/transcode/progress/unsubscribe', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/transcode/progress/unsubscribe");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/video/transcode/progress/unsubscribe", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/video/transcode/progress/unsubscribe
Progress Unsubscribe
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
TranscodingV3
Creator transcoding progress, notifications, and subscriptions.
getActiveProcesses
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/cms/v3/processing/active \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/cms/v3/processing/active HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/processing/active',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/cms/v3/processing/active',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/cms/v3/processing/active', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/cms/v3/processing/active', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/processing/active");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/cms/v3/processing/active", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/cms/v3/processing/active
Get Active Processes
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
progressSubscribeCMS
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/transcode/subscribe \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/transcode/subscribe HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/transcode/subscribe',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/transcode/subscribe',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/transcode/subscribe', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/transcode/subscribe', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/transcode/subscribe");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/transcode/subscribe", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/transcode/subscribe
Progress Subscribe
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
progressUnsubscribeCMS
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/transcode/unsubscribe \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/transcode/unsubscribe HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/transcode/unsubscribe',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/transcode/unsubscribe',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/transcode/unsubscribe', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/transcode/unsubscribe', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/transcode/unsubscribe");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/transcode/unsubscribe", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/transcode/unsubscribe
Progress Unsubscribe
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
UserV2
User discovery and profile management.
getUserInfo
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/user/info?id=string \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/user/info?id=string HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/info?id=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/user/info',
params: {
'id' => 'array[string]'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/user/info', params={
'id': [
"string"
]
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/user/info', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/info?id=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/user/info", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/user/info
Info
Retrieve more detailed information about one or more users from their identifiers.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | query | array[string] | true | The GUID identifer(s) of the user(s) to be retrieved. |
Example responses
200 Response
{
"users": [
{
"id": "59f94c0bdd241b70349eb723",
"user": {
"id": "59f94c0bdd241b70349eb723",
"username": "Linus",
"profileImage": {
"width": 600,
"height": 600,
"path": "https://pbs.floatplane.com/profile_images/59f94c0bdd241b70349eb723/013264939123424_1535577174346.jpeg",
"childImages": [
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/profile_images/59f94c0bdd241b70349eb723/013264939123424_1535577174346_100x100.jpeg"
},
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/profile_images/59f94c0bdd241b70349eb723/013264939123424_1535577174346_250x250.jpeg"
}
]
}
}
}
]
}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Results of the user search | UserInfoV2Response |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
self
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/user/self \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/user/self HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/self',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/user/self',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/user/self', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/user/self', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/self");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/user/self", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/user/self
Self
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getUserInfoByName
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/user/named?username=string \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/user/named?username=string HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/named?username=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/user/named',
params: {
'username' => 'array[string]'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/user/named', params={
'username': [
"string"
]
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/user/named', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/named?username=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/user/named", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/user/named
Get Info By Name
Retrieve more detailed information about one or more users from their usernames.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| username | query | array[string] | true | The username(s) of the user(s) to be retrieved. |
Example responses
200 Response
{
"users": [
{
"id": "0123456789abcdef01234567",
"user": {
"id": "0123456789abcdef01234567",
"username": "my_username",
"profileImage": {
"width": 512,
"height": 512,
"path": "https://pbs.floatplane.com/profile_images/default/user12.png",
"childImages": [
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/profile_images/default/user12_250x250.png"
},
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/profile_images/default/user12_100x100.png"
}
]
},
"email": "testemail@example.com",
"displayName": "Firstname Lastname"
}
}
]
}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Results of the user search | UserNamedV2Response |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
updateInfo
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/user/update \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/user/update HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/update',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/user/update',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/user/update', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/user/update', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/update");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/user/update", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/user/update
Update Info
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
updateEmail
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/user/email/update \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/user/email/update HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/email/update',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/user/email/update',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/user/email/update', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/user/email/update', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/email/update");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/user/email/update", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/user/email/update
Update Email
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
completeEmailChange
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/user/email/update/complete \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/user/email/update/complete HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/email/update/complete',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/user/email/update/complete',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/user/email/update/complete', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/user/email/update/complete', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/email/update/complete");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/user/email/update/complete", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/user/email/update/complete
Complete Email Change
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
uploadAvatar
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/user/avatar \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/user/avatar HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/avatar',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/user/avatar',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/user/avatar', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/user/avatar', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/avatar");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/user/avatar", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/user/avatar
Upload Avatar
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
changePassword
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/user/password/change \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/user/password/change HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/password/change',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/user/password/change',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/user/password/change', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/user/password/change', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/password/change");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/user/password/change", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/user/password/change
Change Password
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getUserCreator
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/user/creator \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/user/creator HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/creator',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/user/creator',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/user/creator', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/user/creator', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/creator");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/user/creator", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/user/creator
Get Creator
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getActivityFeedV2
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/user/activity \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/user/activity HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/activity',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/user/activity',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/user/activity', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/user/activity', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/activity");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/user/activity", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/user/activity
Get Activity Feed
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getExternalLinksV2
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/user/links \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/user/links HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/links',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/user/links',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/user/links', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/user/links', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/links");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/user/links", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/user/links
Get External Links
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
updateExternalLinksV2
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/user/links \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/user/links HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/links',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/user/links',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/user/links', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/user/links', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/links");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/user/links", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/user/links
Update External Links
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getAdministrator
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/user/administrator \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/user/administrator HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/administrator',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/user/administrator',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/user/administrator', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/user/administrator', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/administrator");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/user/administrator", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/user/administrator
Get Administrator
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getSecurity
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/user/security \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/user/security HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/security',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/user/security',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/user/security', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/user/security', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/security");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/user/security", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/user/security
Get Security
Retrieve information about the current security configuration for the user.
Example responses
200 Response
{
"twofactorEnabled": true,
"twofactorBackupCodeEnabled": true
}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Current security settings | UserSecurityV2Response |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
generateTwoFactorSecret
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/user/security/2fa \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/user/security/2fa HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/security/2fa',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/user/security/2fa',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/user/security/2fa', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/user/security/2fa', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/security/2fa");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/user/security/2fa", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/user/security/2fa
Generate Two Factor Secret
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
activateTwoFactorAuthentication
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/user/security/2fa/activate \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/user/security/2fa/activate HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/security/2fa/activate',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/user/security/2fa/activate',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/user/security/2fa/activate', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/user/security/2fa/activate', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/security/2fa/activate");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/user/security/2fa/activate", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/user/security/2fa/activate
Activate Two Factor Authentication
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
deactivateTwoFactorAuthentication
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/user/security/2fa/deactivate \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/user/security/2fa/deactivate HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/security/2fa/deactivate',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/user/security/2fa/deactivate',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/user/security/2fa/deactivate', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/user/security/2fa/deactivate', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/security/2fa/deactivate");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/user/security/2fa/deactivate", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/user/security/2fa/deactivate
Deactivate Two Factor Authentication
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
activateBackupCode
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/user/security/backupcode/activate \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/user/security/backupcode/activate HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/security/backupcode/activate',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/user/security/backupcode/activate',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/user/security/backupcode/activate', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/user/security/backupcode/activate', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/security/backupcode/activate");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/user/security/backupcode/activate", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/user/security/backupcode/activate
Activate Backup Code
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
deactivateBackupCode
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/user/security/backupcode/deactivate \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/user/security/backupcode/deactivate HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/security/backupcode/deactivate',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/user/security/backupcode/deactivate',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/user/security/backupcode/deactivate', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/user/security/backupcode/deactivate', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/security/backupcode/deactivate");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/user/security/backupcode/deactivate", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/user/security/backupcode/deactivate
Deactivate Backup Code
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
generateBackupCode
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/user/security/backupcode \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/user/security/backupcode HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/security/backupcode',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/user/security/backupcode',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/user/security/backupcode', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/user/security/backupcode', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/security/backupcode");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/user/security/backupcode", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/user/security/backupcode
Generate Backup Code
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getUserNotificationSettingsV2
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/user/notificationsetting \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/user/notificationsetting HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/notificationsetting',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/user/notificationsetting',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/user/notificationsetting', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/user/notificationsetting', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/notificationsetting");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/user/notificationsetting", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/user/notificationsetting
Get User Notification Settings
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
updateUserNotificationSettingsV2
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/user/notificationsetting \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/user/notificationsetting HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/notificationsetting',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/user/notificationsetting',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/user/notificationsetting', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/user/notificationsetting', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/notificationsetting");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/user/notificationsetting", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/user/notificationsetting
Update User Notification Settings
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
userCreatorBanStatus
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/user/ban/status?creator=string \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/user/ban/status?creator=string HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/user/ban/status?creator=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/user/ban/status',
params: {
'creator' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/user/ban/status', params={
'creator': 'string'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/user/ban/status', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/user/ban/status?creator=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/user/ban/status", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/user/ban/status
User Creator Ban Status
Determine whether or not the user is banned for a given creator.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| creator | query | string | true | The GUID of the creator being queried. |
Example responses
200 Response
true
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Whether the user is banned or not | boolean |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
UserV3
User discovery and profile management.
getActivityFeedV3
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/user/activity?id=string \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/user/activity?id=string HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/user/activity?id=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/user/activity',
params: {
'id' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/user/activity', params={
'id': 'string'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/user/activity', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/user/activity?id=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/user/activity", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/user/activity
Get Activity Feed
Retrieve recent activity for a user, such as comments and other interactions they have made on posts for creators.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | query | string | true | The GUID of the user being queried. |
Example responses
200 Response
{
"activity": [
{
"time": "2021-10-09T08:12:51.290Z",
"comment": "This is the text of the comment being posted",
"postTitle": "TL: Facebook Does Not Care.",
"postId": "j7KjCaKrtV",
"creatorTitle": "LinusTechTips",
"creatorUrl": "linustechtips"
}
],
"visibility": "public"
}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Activity returned | UserActivityV3Response |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
getExternalLinksV3
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/user/links?id=string \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/user/links?id=string HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/user/links?id=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/user/links',
params: {
'id' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/user/links', params={
'id': 'string'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/user/links', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/user/links?id=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/user/links", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/user/links
Get External Links
Retrieve configured social media links from a user’s profile.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | query | string | true | The GUID of the user being searched. |
Example responses
200 Response
{
"twitch": {
"url": "https://twitch.tv/myusername",
"type": {
"name": "twitch",
"displayName": "Twitch",
"hostName": "twitch.tv"
}
}
}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - User links returned | UserLinksV3Response |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
updateExternalLinksV3
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/user/links \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/user/links HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/user/links',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/user/links',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/user/links', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/user/links', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/user/links");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/user/links", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/user/links
Update External Links
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getSelf
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/user/self \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/user/self HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/user/self',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/user/self',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/user/self', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/user/self', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/user/self");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/user/self", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/user/self
Get Self
Retrieve more detailed information about the user, including their name and email.
Example responses
200 Response
{
"id": "0123456789abcdef01234567",
"username": "my_username",
"profileImage": {
"width": 512,
"height": 512,
"path": "https://pbs.floatplane.com/profile_images/default/user12.png",
"childImages": [
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/profile_images/default/user12_250x250.png"
},
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/profile_images/default/user12_100x100.png"
}
]
},
"email": "testemail@example.com",
"displayName": "Firstname Lastname",
"creators": [],
"scheduledDeletionDate": null
}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Information returned | UserSelfV3Response |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
scheduleDeletion
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/user/delete \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/user/delete HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/user/delete',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/user/delete',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/user/delete', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/user/delete', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/user/delete");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/user/delete", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/user/delete
Schedule Deletion
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
unscheduleDeletion
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/user/undelete \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/user/undelete HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/user/undelete',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/user/undelete',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/user/undelete', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/user/undelete', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/user/undelete");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/user/undelete", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/user/undelete
Unschedule Deletion
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getAchievementPerks
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/user/achievement/perks \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/user/achievement/perks HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/user/achievement/perks',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/user/achievement/perks',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/user/achievement/perks', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/user/achievement/perks', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/user/achievement/perks");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/user/achievement/perks", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/user/achievement/perks
Get Achievement Perks
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getUserNotificationSettingsV3
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/user/notification/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/user/notification/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/user/notification/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/user/notification/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/user/notification/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/user/notification/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/user/notification/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/user/notification/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/user/notification/list
Get User Notification Settings
Retrieve notification details for a user. The details are split into seperate settings for each subscribed creator.
Example responses
200 Response
[
{
"creator": {
"id": "59f94c0bdd241b70349eb72b",
"owner": "59f94c0bdd241b70349eb723",
"title": "LinusTechTips",
"urlname": "linustechtips",
"description": "We make entertaining videos about technology, including tech reviews, showcases and other content.",
"about": "# We're LinusTechTips\nWe make videos and stuff, cool eh?",
"category": "59f94c0bdd241b70349eb727",
"cover": null,
"icon": {
"width": 16,
"height": 16,
"path": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA1BMVEUfLTy/Rf//AAAAC0lEQVQI12MgEQAAADAAAWV61nwAAAAASUVORK5CYII="
},
"liveStream": null,
"subscriptionPlans": null,
"discoverable": true,
"subscriberCountDisplay": "total",
"incomeDisplay": false
},
"userNotificationSetting": {
"createdAt": "2020-09-25T07:35:04.273Z",
"updatedAt": "2021-10-07T14:16:56.561Z",
"id": "abcdef0123456789abcdef01",
"contentEmail": false,
"contentFirebase": true,
"creatorMessageEmail": false,
"user": "0123456789abcdef01234567",
"creator": "59f94c0bdd241b70349eb72b"
}
}
]
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Notifications returned | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [UserNotificationModel] | false | none | none |
| » creator | CreatorModelV2 | true | none | none |
| »» id | string | true | none | none |
| »» owner | string | true | none | none |
| »» title | string | true | none | none |
| »» urlname | string | true | none | none |
| »» description | string | true | none | none |
| »» about | string | true | none | none |
| »» category | string | true | none | none |
| »» cover | ImageModel | false | none | none |
| »»» width | integer | true | none | none |
| »»» height | integer | true | none | none |
| »»» path | string(uri) | true | none | none |
| »»» size | integer | false | none | none |
| »»» childImages | [ChildImageModel] | false | none | none |
| »»»» width | integer | true | none | none |
| »»»» height | integer | true | none | none |
| »»»» path | string(uri) | true | none | none |
| »» icon | ImageModel | true | none | none |
| »» liveStream | LiveStreamModel | false | none | none |
| »»» id | string | true | none | none |
| »»» title | string | true | none | none |
| »»» description | string | true | none | none |
| »»» thumbnail | ImageModel | false | none | none |
| »»» owner | string | true | none | none |
| »»» streamPath | string | true | none | none |
| »»» offline | object | true | none | none |
| »»»» title | string | false | none | none |
| »»»» description | string | false | none | none |
| »»»» thumbnail | ImageModel | false | none | none |
| »» subscriptionPlans | [object] | false | none | none |
| »» discoverable | boolean | true | none | none |
| »» subscriberCountDisplay | string | true | none | none |
| »» incomeDisplay | boolean | true | none | none |
| »» socialLinks | SocialLinksModel | false | none | none |
| string(uri) | false | none | none | |
| string(uri) | false | none | none | |
| »»» website | string(uri) | false | none | none |
| string(uri) | false | none | none | |
| »»» youtube | string(uri) | false | none | none |
| »» discordServers | [DiscordServerModel] | false | none | none |
| »»» id | string | true | none | none |
| »»» guildName | string | true | none | none |
| »»» guildIcon | string | true | none | none |
| »»» inviteLink | string(uri) | true | none | none |
| »»» inviteMode | string | true | none | none |
| » userNotificationSetting | object | true | none | none |
| »» createdAt | string(date-time) | true | none | none |
| »» updatedAt | string(date-time) | true | none | none |
| »» id | string | true | none | none |
| »» contentEmail | boolean | true | none | none |
| »» contentFirebase | boolean | true | none | none |
| »» creatorMessageEmail | boolean | true | none | none |
| »» user | string | true | none | none |
| »» creator | string | true | none | none |
updateUserNotificationSettingsV3
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/user/notification/update \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/user/notification/update HTTP/1.1
Host: www.floatplane.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"creator": "string",
"property": "contentEmail",
"newValue": true
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/user/notification/update',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/user/notification/update',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/user/notification/update', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/user/notification/update', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/user/notification/update");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/user/notification/update", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/user/notification/update
Update User Notification Settings
Enable or disable email or push notifications for a specific creator.
Body parameter
{
"creator": "string",
"property": "contentEmail",
"newValue": true
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | UserNotificationUpdateV3PostRequest | true | none |
Example responses
200 Response
true
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Whether or not the update was successful | boolean |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
VideoCommentsV2
Video comment viewing and posting.
getVideoComments
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/video/comments \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/video/comments HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/comments',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/video/comments',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/video/comments', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/video/comments', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/comments");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/video/comments", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/video/comments
Get Video Comments
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
addVideoComment
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/video/comment \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/video/comment HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/comment',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/video/comment',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/video/comment', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/video/comment', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/comment");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/video/comment", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/video/comment
Add Video Comment
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getVideoCommentReplies
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/video/comment/replies \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/video/comment/replies HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/comment/replies',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/video/comment/replies',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/video/comment/replies', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/video/comment/replies', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/comment/replies");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/video/comment/replies", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/video/comment/replies
Get Video Comment Replies
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
VideoCommentInteractionsV2
Video comment interaction management.
clearInteraction
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/video/comment/interaction/clear \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/video/comment/interaction/clear HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/comment/interaction/clear',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/video/comment/interaction/clear',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/video/comment/interaction/clear', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/video/comment/interaction/clear', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/comment/interaction/clear");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/video/comment/interaction/clear", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/video/comment/interaction/clear
Clear Interaction
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
setInteraction
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/video/comment/interaction/set \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/video/comment/interaction/set HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/comment/interaction/set',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/video/comment/interaction/set',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/video/comment/interaction/set', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/video/comment/interaction/set', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/comment/interaction/set");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/video/comment/interaction/set", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/video/comment/interaction/set
Set Interaction
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
MediaV2
Video media management.
watchKey
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/video/watchkey \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/video/watchkey HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/watchkey',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/video/watchkey',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/video/watchkey', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/video/watchkey', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/watchkey");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/video/watchkey", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/video/watchkey
Watch Key
TODO. This seems to originate from the .m3u8 file captured from the CDN endpoint, and is not usually called directly from code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getVideo
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/video/info \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/video/info HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/info',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/video/info',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/video/info', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/video/info', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/info");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/video/info", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/video/info
Get Video
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getRelatedVideos
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/video/related \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/video/related HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/related',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/video/related',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/video/related', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/video/related', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/related");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/video/related", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/video/related
Get Related Videos
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
updateVideo
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/video/update \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/video/update HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/update',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/video/update',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/video/update', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/video/update', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/update");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/video/update", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/video/update
Update Video
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
deleteVideo
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/video/delete \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/video/delete HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/delete',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/video/delete',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/video/delete', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/video/delete', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/delete");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/video/delete", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/video/delete
Delete Video
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getList
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/video/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/video/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/video/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/video/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/video/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/video/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/video/list
Get List
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
VideoV2
Video Dash key management.
getDashClearKeys
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/video/dash/watchkey \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/video/dash/watchkey HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/dash/watchkey',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/video/dash/watchkey',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/video/dash/watchkey', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/video/dash/watchkey', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/dash/watchkey");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/video/dash/watchkey", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/video/dash/watchkey
Get Dash Clear Keys
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getDashClearKeysOverPost
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/video/dash/watchkey \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/video/dash/watchkey HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/dash/watchkey',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/video/dash/watchkey',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/video/dash/watchkey', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/video/dash/watchkey', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/dash/watchkey");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/video/dash/watchkey", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/video/dash/watchkey
Get Dash Clear Keys Over Post
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getDashSignedChunkUrl
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/video/dash/chunk/signed \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/video/dash/chunk/signed HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/dash/chunk/signed',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/video/dash/chunk/signed',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/video/dash/chunk/signed', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/video/dash/chunk/signed', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/dash/chunk/signed");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/video/dash/chunk/signed", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/video/dash/chunk/signed
Get Dash Signed Chunk Url
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
PlaylistV2
Get playlists.
listPlaylistVideos
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/playlist/videos \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/playlist/videos HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/playlist/videos',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/playlist/videos',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/playlist/videos', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/playlist/videos', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/playlist/videos");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/playlist/videos", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/playlist/videos
List Videos
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
VideoUploadV2
Video uploading and management.
createMultipartUploadV2
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/video/upload/s3/multipart \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/video/upload/s3/multipart HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/upload/s3/multipart',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/video/upload/s3/multipart',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/video/upload/s3/multipart', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/video/upload/s3/multipart', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/upload/s3/multipart");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/video/upload/s3/multipart", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/video/upload/s3/multipart
Create Multipart Upload
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getUploadedPartsV2
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/video/upload/s3/multipart \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/video/upload/s3/multipart HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/upload/s3/multipart',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/video/upload/s3/multipart',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/video/upload/s3/multipart', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/video/upload/s3/multipart', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/upload/s3/multipart");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/video/upload/s3/multipart", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/video/upload/s3/multipart
Get Uploaded Parts
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
signPartUploadVideo
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/video/upload/s3/multipart/sign \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/video/upload/s3/multipart/sign HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/upload/s3/multipart/sign',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/video/upload/s3/multipart/sign',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/video/upload/s3/multipart/sign', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/video/upload/s3/multipart/sign', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/upload/s3/multipart/sign");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/video/upload/s3/multipart/sign", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/video/upload/s3/multipart/sign
Sign Part Upload
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
abortMultipartUploadV2
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/video/upload/s3/multipart/abort \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/video/upload/s3/multipart/abort HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/upload/s3/multipart/abort',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/video/upload/s3/multipart/abort',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/video/upload/s3/multipart/abort', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/video/upload/s3/multipart/abort', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/upload/s3/multipart/abort");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/video/upload/s3/multipart/abort", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/video/upload/s3/multipart/abort
Abort Multipart Upload
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
completeMultipartUploadVideo
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/video/upload/s3/multipart/complete \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/video/upload/s3/multipart/complete HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/upload/s3/multipart/complete',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/video/upload/s3/multipart/complete',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/video/upload/s3/multipart/complete', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/video/upload/s3/multipart/complete', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/upload/s3/multipart/complete");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/video/upload/s3/multipart/complete", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/video/upload/s3/multipart/complete
Complete Multipart Upload
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
uploadThumbnailV2
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/video/upload/thumbnail \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/video/upload/thumbnail HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/video/upload/thumbnail',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/video/upload/thumbnail',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/video/upload/thumbnail', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/video/upload/thumbnail', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/video/upload/thumbnail");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/video/upload/thumbnail", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/video/upload/thumbnail
Upload Thumbnail
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
WebhookV2
Webhook management.
connectedAccount
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/webhooks/connectedAccount/{site} \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/webhooks/connectedAccount/{site} HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/webhooks/connectedAccount/{site}',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/webhooks/connectedAccount/{site}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/webhooks/connectedAccount/{site}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/webhooks/connectedAccount/{site}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/webhooks/connectedAccount/{site}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/webhooks/connectedAccount/{site}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/webhooks/connectedAccount/{site}
Connected Account
TODO - Not used in Floatplane code.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| site | path | string | true | none |
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
WebhookV3
Webhook management.
IVSlivestreamPublish
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/webhooks/ivs/livestream \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/webhooks/ivs/livestream HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/webhooks/ivs/livestream',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/webhooks/ivs/livestream',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/webhooks/ivs/livestream', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/webhooks/ivs/livestream', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/webhooks/ivs/livestream");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/webhooks/ivs/livestream", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/webhooks/ivs/livestream
IVS Livestream Publish
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
livestreamPublish
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/webhooks/livestream \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/webhooks/livestream HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/webhooks/livestream',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/webhooks/livestream',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/webhooks/livestream', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/webhooks/livestream', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/webhooks/livestream");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/webhooks/livestream", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/webhooks/livestream
Livestream Publish
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
WebNotificationV2
Web push notification information and subscriptions.
getAppInfoV2
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/push/web/info \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/push/web/info HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/push/web/info',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/push/web/info',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/push/web/info', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/push/web/info', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/push/web/info");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/push/web/info", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/push/web/info
Get App Info
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
registerV2
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/push/web/register \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/push/web/register HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/push/web/register',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/push/web/register',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/push/web/register', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/push/web/register', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/push/web/register");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/push/web/register", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/push/web/register
Register
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
unregisterV2
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/push/web/revoke \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/push/web/revoke HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/push/web/revoke',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/push/web/revoke',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/push/web/revoke', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/push/web/revoke', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/push/web/revoke");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/push/web/revoke", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/push/web/revoke
Unregister
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getTokenInfo
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/push/web/tokenInfo \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/push/web/tokenInfo HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/push/web/tokenInfo',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/push/web/tokenInfo',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/push/web/tokenInfo', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/push/web/tokenInfo', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/push/web/tokenInfo");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/push/web/tokenInfo", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/push/web/tokenInfo
Get Token Info
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
WebNotificationV3
Web push notification information and subscriptions.
getAppInfoV3
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/push/web/info \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/push/web/info HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/push/web/info',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/push/web/info',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/push/web/info', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/push/web/info', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/push/web/info");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/push/web/info", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/push/web/info
Get App Info
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
registerV3
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/push/web/register \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/push/web/register HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/push/web/register',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/push/web/register',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/push/web/register', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/push/web/register', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/push/web/register");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/push/web/register", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/push/web/register
Register
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
unregisterV3
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/push/web/revoke \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/push/web/revoke HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/push/web/revoke',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/push/web/revoke',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/push/web/revoke', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/push/web/revoke', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/push/web/revoke");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/push/web/revoke", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/push/web/revoke
Unregister
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
ACP_TranscodingV3
Creator content uploading, status, and management.
getContentList
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/acp/v3/content/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/acp/v3/content/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/acp/v3/content/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/acp/v3/content/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/acp/v3/content/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/acp/v3/content/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/acp/v3/content/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/acp/v3/content/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /acp/v3/content/list
Get Content List
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getContentACP
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/acp/v3/content \
-H 'Accept: application/json'
GET https://www.floatplane.com/acp/v3/content HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/acp/v3/content',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/acp/v3/content',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/acp/v3/content', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/acp/v3/content', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/acp/v3/content");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/acp/v3/content", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /acp/v3/content
Get Content
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
postContent
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/acp/v3/content \
-H 'Accept: application/json'
POST https://www.floatplane.com/acp/v3/content HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/acp/v3/content',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/acp/v3/content',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/acp/v3/content', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/acp/v3/content', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/acp/v3/content");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/acp/v3/content", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /acp/v3/content
Post Content
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getOrderList
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/acp/v3/order/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/acp/v3/order/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/acp/v3/order/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/acp/v3/order/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/acp/v3/order/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/acp/v3/order/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/acp/v3/order/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/acp/v3/order/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /acp/v3/order/list
Get Order List
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getOrder
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/acp/v3/order \
-H 'Accept: application/json'
GET https://www.floatplane.com/acp/v3/order HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/acp/v3/order',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/acp/v3/order',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/acp/v3/order', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/acp/v3/order', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/acp/v3/order");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/acp/v3/order", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /acp/v3/order
Get Order
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
postOrder
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/acp/v3/order \
-H 'Accept: application/json'
POST https://www.floatplane.com/acp/v3/order HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/acp/v3/order',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/acp/v3/order',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/acp/v3/order', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/acp/v3/order', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/acp/v3/order");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/acp/v3/order", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /acp/v3/order
Post Order
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
postManager
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/acp/v3/manager \
-H 'Accept: application/json'
POST https://www.floatplane.com/acp/v3/manager HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/acp/v3/manager',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/acp/v3/manager',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/acp/v3/manager', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/acp/v3/manager', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/acp/v3/manager");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/acp/v3/manager", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /acp/v3/manager
Post Manager
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
createOrder
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/acp/v3/order/create \
-H 'Accept: application/json'
POST https://www.floatplane.com/acp/v3/order/create HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/acp/v3/order/create',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/acp/v3/order/create',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/acp/v3/order/create', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/acp/v3/order/create', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/acp/v3/order/create");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/acp/v3/order/create", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /acp/v3/order/create
Create Order
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
augmentOrder
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/acp/v3/order/augment \
-H 'Accept: application/json'
POST https://www.floatplane.com/acp/v3/order/augment HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/acp/v3/order/augment',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/acp/v3/order/augment',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/acp/v3/order/augment', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/acp/v3/order/augment', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/acp/v3/order/augment");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/acp/v3/order/augment", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /acp/v3/order/augment
Augment Order
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getUploadList
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/acp/v3/upload/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/acp/v3/upload/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/acp/v3/upload/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/acp/v3/upload/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/acp/v3/upload/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/acp/v3/upload/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/acp/v3/upload/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/acp/v3/upload/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /acp/v3/upload/list
Get Upload List
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getUpload
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/acp/v3/upload \
-H 'Accept: application/json'
GET https://www.floatplane.com/acp/v3/upload HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/acp/v3/upload',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/acp/v3/upload',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/acp/v3/upload', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/acp/v3/upload', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/acp/v3/upload");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/acp/v3/upload", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /acp/v3/upload
Get Upload
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
postUpload
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/acp/v3/upload \
-H 'Accept: application/json'
POST https://www.floatplane.com/acp/v3/upload HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/acp/v3/upload',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/acp/v3/upload',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/acp/v3/upload', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/acp/v3/upload', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/acp/v3/upload");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/acp/v3/upload", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /acp/v3/upload
Post Upload
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getJob
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/acp/v3/job \
-H 'Accept: application/json'
GET https://www.floatplane.com/acp/v3/job HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/acp/v3/job',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/acp/v3/job',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/acp/v3/job', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/acp/v3/job', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/acp/v3/job");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/acp/v3/job", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /acp/v3/job
Get Job
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
postJob
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/acp/v3/job \
-H 'Accept: application/json'
POST https://www.floatplane.com/acp/v3/job HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/acp/v3/job',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/acp/v3/job',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/acp/v3/job', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/acp/v3/job', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/acp/v3/job");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/acp/v3/job", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /acp/v3/job
Post Job
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getTask
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/acp/v3/task \
-H 'Accept: application/json'
GET https://www.floatplane.com/acp/v3/task HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/acp/v3/task',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/acp/v3/task',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/acp/v3/task', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/acp/v3/task', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/acp/v3/task");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/acp/v3/task", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /acp/v3/task
Get Task
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
postTask
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/acp/v3/task \
-H 'Accept: application/json'
POST https://www.floatplane.com/acp/v3/task HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/acp/v3/task',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/acp/v3/task',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/acp/v3/task', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/acp/v3/task', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/acp/v3/task");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/acp/v3/task", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /acp/v3/task
Post Task
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
CMS_BlogPostV3
CMS blog post editing and posting.
getBlogPostCMS
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/cms/v3/blogPost/get \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/cms/v3/blogPost/get HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/blogPost/get',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/cms/v3/blogPost/get',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/cms/v3/blogPost/get', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/cms/v3/blogPost/get', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/blogPost/get");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/cms/v3/blogPost/get", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/cms/v3/blogPost/get
Get Blog Post
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listBlogPost
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/cms/v3/blogPost/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/cms/v3/blogPost/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/blogPost/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/cms/v3/blogPost/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/cms/v3/blogPost/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/cms/v3/blogPost/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/blogPost/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/cms/v3/blogPost/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/cms/v3/blogPost/list
List Blog Post
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
createBlogPost
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/blogPost/create \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/blogPost/create HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/blogPost/create',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/blogPost/create',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/blogPost/create', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/blogPost/create', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/blogPost/create");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/blogPost/create", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/blogPost/create
Create Blog Post
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
editBlogPost
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/blogPost/edit \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/blogPost/edit HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/blogPost/edit',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/blogPost/edit',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/blogPost/edit', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/blogPost/edit', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/blogPost/edit");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/blogPost/edit", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/blogPost/edit
Edit Blog Post
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
deleteBlogPost
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/blogPost/delete \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/blogPost/delete HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/blogPost/delete',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/blogPost/delete',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/blogPost/delete', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/blogPost/delete', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/blogPost/delete");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/blogPost/delete", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/blogPost/delete
Delete Blog Post
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
updateNewAttachments
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/blogPost/attachments/update \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/blogPost/attachments/update HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/blogPost/attachments/update',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/blogPost/attachments/update',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/blogPost/attachments/update', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/blogPost/attachments/update', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/blogPost/attachments/update");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/blogPost/attachments/update", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/blogPost/attachments/update
Update New Attachments
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
CMS_ContentV3
CMS content editing and posting.
editContent
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/content/edit \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/content/edit HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/content/edit',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/content/edit',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/content/edit', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/content/edit', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/content/edit");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/content/edit", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/content/edit
Edit Content
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listVideoContent
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/cms/v3/content/video/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/cms/v3/content/video/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/content/video/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/cms/v3/content/video/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/cms/v3/content/video/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/cms/v3/content/video/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/content/video/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/cms/v3/content/video/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/cms/v3/content/video/list
List Video Content
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listAudioContent
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/cms/v3/content/audio/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/cms/v3/content/audio/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/content/audio/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/cms/v3/content/audio/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/cms/v3/content/audio/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/cms/v3/content/audio/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/content/audio/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/cms/v3/content/audio/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/cms/v3/content/audio/list
List Audio Content
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listPictureContent
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/cms/v3/content/picture/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/cms/v3/content/picture/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/content/picture/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/cms/v3/content/picture/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/cms/v3/content/picture/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/cms/v3/content/picture/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/content/picture/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/cms/v3/content/picture/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/cms/v3/content/picture/list
List Picture Content
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listGalleryContent
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/cms/v3/content/gallery/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/cms/v3/content/gallery/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/content/gallery/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/cms/v3/content/gallery/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/cms/v3/content/gallery/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/cms/v3/content/gallery/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/content/gallery/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/cms/v3/content/gallery/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/cms/v3/content/gallery/list
List Gallery Content
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getVideoContentCMS
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/cms/v3/content/video/ \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/cms/v3/content/video/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/content/video/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/cms/v3/content/video/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/cms/v3/content/video/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/cms/v3/content/video/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/content/video/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/cms/v3/content/video/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/cms/v3/content/video/
Get Video Content
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getAudioContentCMS
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/cms/v3/content/audio/ \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/cms/v3/content/audio/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/content/audio/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/cms/v3/content/audio/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/cms/v3/content/audio/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/cms/v3/content/audio/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/content/audio/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/cms/v3/content/audio/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/cms/v3/content/audio/
Get Audio Content
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getPictureContentCMS
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/cms/v3/content/picture/ \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/cms/v3/content/picture/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/content/picture/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/cms/v3/content/picture/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/cms/v3/content/picture/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/cms/v3/content/picture/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/content/picture/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/cms/v3/content/picture/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/cms/v3/content/picture/
Get Picture Content
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getGalleryContentCMS
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/cms/v3/content/gallery/ \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/cms/v3/content/gallery/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/content/gallery/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/cms/v3/content/gallery/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/cms/v3/content/gallery/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/cms/v3/content/gallery/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/content/gallery/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/cms/v3/content/gallery/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/cms/v3/content/gallery/
Get Gallery Content
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getContentCMS
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/cms/v3/content/ \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/cms/v3/content/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/content/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/cms/v3/content/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/cms/v3/content/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/cms/v3/content/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/content/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/cms/v3/content/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/cms/v3/content/
Get Content
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
deleteContent
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/content/delete \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/content/delete HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/content/delete',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/content/delete',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/content/delete', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/content/delete', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/content/delete");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/content/delete", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/content/delete
Delete Content
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
CMS_CreatorWarehouseV3
CMS Creator Warehouse management.
getCreatorWarehouse
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/cms/v3/creatorwarehouse \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/cms/v3/creatorwarehouse HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/creatorwarehouse',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/cms/v3/creatorwarehouse',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/cms/v3/creatorwarehouse', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/cms/v3/creatorwarehouse', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/creatorwarehouse");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/cms/v3/creatorwarehouse", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/cms/v3/creatorwarehouse
Get Creator Warehouse
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
saveCreatorWarehouse
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/save \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/save HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/creatorwarehouse/save',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/creatorwarehouse/save',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/creatorwarehouse/save', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/creatorwarehouse/save', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/creatorwarehouse/save");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/creatorwarehouse/save", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/creatorwarehouse/save
Save Creator Warehouse
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listPriceRules
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/list \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/list',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/creatorwarehouse/pricerule/list
List Price Rules
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getPriceRule
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/ \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/ HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/creatorwarehouse/pricerule/
Get Price Rule
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
createPriceRule
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/create \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/create HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/create',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/create',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/create', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/create', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/create");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/create", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/creatorwarehouse/pricerule/create
Create Price Rule
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
editPriceRule
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/edit \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/edit HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/edit',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/edit',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/edit', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/edit', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/edit");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/edit", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/creatorwarehouse/pricerule/edit
Edit Price Rule
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
deletePriceRule
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/delete \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/delete HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/delete',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/delete',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/delete', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/delete', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/delete");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/creatorwarehouse/pricerule/delete", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/creatorwarehouse/pricerule/delete
Delete Price Rule
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listProducts
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/products/list \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/products/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/creatorwarehouse/products/list',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/creatorwarehouse/products/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/creatorwarehouse/products/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/creatorwarehouse/products/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/creatorwarehouse/products/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/creatorwarehouse/products/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/creatorwarehouse/products/list
List Products
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listCollections
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/collections/list \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/collections/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/creatorwarehouse/collections/list',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/creatorwarehouse/collections/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/creatorwarehouse/collections/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/creatorwarehouse/collections/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/creatorwarehouse/collections/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/creatorwarehouse/collections/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/creatorwarehouse/collections/list
List Collections
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getShopInfo
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/shop/get \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/shop/get HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/creatorwarehouse/shop/get',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/creatorwarehouse/shop/get',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/creatorwarehouse/shop/get', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/creatorwarehouse/shop/get', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/creatorwarehouse/shop/get");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/creatorwarehouse/shop/get", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/creatorwarehouse/shop/get
Get Shop Info
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listShopShippingCountries
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/shop/shippingcountries/list \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/shop/shippingcountries/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/creatorwarehouse/shop/shippingcountries/list',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/creatorwarehouse/shop/shippingcountries/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/creatorwarehouse/shop/shippingcountries/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/creatorwarehouse/shop/shippingcountries/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/creatorwarehouse/shop/shippingcountries/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/creatorwarehouse/shop/shippingcountries/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/creatorwarehouse/shop/shippingcountries/list
List Shop Shipping Countries
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getProducts
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/products/get \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/products/get HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/creatorwarehouse/products/get',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/creatorwarehouse/products/get',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/creatorwarehouse/products/get', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/creatorwarehouse/products/get', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/creatorwarehouse/products/get");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/creatorwarehouse/products/get", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/creatorwarehouse/products/get
Get Products
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getCollections
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/collections/get \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/collections/get HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/creatorwarehouse/collections/get',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/creatorwarehouse/collections/get',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/creatorwarehouse/collections/get', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/creatorwarehouse/collections/get', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/creatorwarehouse/collections/get");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/creatorwarehouse/collections/get", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/creatorwarehouse/collections/get
Get Collections
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getCountries
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/countries/get \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/creatorwarehouse/countries/get HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/creatorwarehouse/countries/get',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/creatorwarehouse/countries/get',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/creatorwarehouse/countries/get', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/creatorwarehouse/countries/get', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/creatorwarehouse/countries/get");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/creatorwarehouse/countries/get", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/creatorwarehouse/countries/get
Get Countries
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
CMS_LivestreamV3
CMS Livestream information.
getLivestreamInfo
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/cms/v3/live/info \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/cms/v3/live/info HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/live/info',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/cms/v3/live/info',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/cms/v3/live/info', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/cms/v3/live/info', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/live/info");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/cms/v3/live/info", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/cms/v3/live/info
Get Livestream Info
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
CMS_CreatorSubscriptionPlanV3
CMS creator subscription plan and subscriber information.
listSubscriptionPlansCMS
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/cms/v3/plan/list \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/cms/v3/plan/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/plan/list',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/cms/v3/plan/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/cms/v3/plan/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/cms/v3/plan/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/plan/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/cms/v3/plan/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/cms/v3/plan/list
List Subscription Plans
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listSubscribers
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/cms/v3/subscribers/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/cms/v3/subscribers/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/subscribers/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/cms/v3/subscribers/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/cms/v3/subscribers/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/cms/v3/subscribers/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/subscribers/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/cms/v3/subscribers/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/cms/v3/subscribers/list
List Subscribers
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
downloadSubscribers
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/cms/v3/subscribers/download \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/cms/v3/subscribers/download HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/cms/v3/subscribers/download',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/cms/v3/subscribers/download',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/cms/v3/subscribers/download', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/cms/v3/subscribers/download', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/cms/v3/subscribers/download");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/cms/v3/subscribers/download", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/cms/v3/subscribers/download
Download Subscribers
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
CommentV3
Comment retrieval, posting, and interacting.
postComment
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/comment \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/comment HTTP/1.1
Host: www.floatplane.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"blogPost": "string",
"text": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/comment',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/comment',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/comment', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/comment', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/comment");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/comment", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/comment
Post Comment
Post a new comment to a blog post object.
Body parameter
{
"blogPost": "string",
"text": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | CommentV3PostRequest | true | none |
Example responses
200 Response
{
"id": "8d575af6834343b166d0562a",
"blogPost": "j7KjCaKrtV",
"user": {
"id": "0123456789abcdef01234567",
"username": "my_username",
"profileImage": {
"width": 512,
"height": 512,
"path": "https://pbs.floatplane.com/profile_images/default/user12.png",
"childImages": [
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/profile_images/default/user12_250x250.png"
},
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/profile_images/default/user12_100x100.png"
}
]
}
},
"contentReference": "",
"contentReferenceType": "",
"text": "This is the text of the comment being posted",
"replying": null,
"postDate": "2021-10-09T08:12:51.290Z",
"editDate": "2021-10-09T08:12:51.290Z",
"likes": 0,
"dislikes": 0,
"score": 0,
"interactionCounts": {
"like": 0,
"dislike": 0
}
}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Commented posted successfully, returning comment details | CommentV3PostResponse |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
getComments
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/comment?blogPost=string&limit=0 \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/comment?blogPost=string&limit=0 HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/comment?blogPost=string&limit=0',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/comment',
params: {
'blogPost' => 'string',
'limit' => 'integer'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/comment', params={
'blogPost': 'string', 'limit': '0'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/comment', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/comment?blogPost=string&limit=0");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/comment", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/comment
Get Comments
Get comments for a blog post object. Note that replies to each comment tend to be limited to 3. The extra replies can be retrieved via getCommentReplies. The difference in $response.body#/0/totalReplies and $response.body#/0/replies’s length can determine if more comments need to be loaded.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| blogPost | query | string | true | Which blog post to retrieve comments for. |
| limit | query | integer | true | The maximum number of comments to return. This should be set to 20 by default. |
| fetchAfter | query | string | false | When loading more comments on a blog post, this is used to determine which which comments to skip. This is a GUID of the last comment from the previous call to getComments. |
Example responses
200 Response
[
{
"id": "00c5ab7379e746b24a76634b",
"blogPost": "Dw2ms0AgL8",
"user": {
"id": "ff0a479639c60f3a8cd18d8b",
"username": "some_username",
"profileImage": {
"width": 512,
"height": 512,
"path": "https://pbs.floatplane.com/profile_images/default/user10.png",
"childImages": [
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/profile_images/default/user10_250x250.png"
},
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/profile_images/default/user10_100x100.png"
}
]
}
},
"contentReference": "",
"contentReferenceType": "",
"text": "This is my comment text, I really like this video.",
"replying": null,
"postDate": "2021-10-09T14:58:34.829Z",
"editDate": "2021-10-09T14:58:34.829Z",
"likes": 0,
"dislikes": 0,
"score": 0,
"interactionCounts": {
"like": 0,
"dislike": 0
},
"totalReplies": 0,
"replies": [],
"userInteraction": null
}
]
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - All comments returned for the query parameters | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [CommentModel] | false | none | none |
| » id | string | true | none | none |
| » blogPost | string | true | none | none |
| » user | UserModel | true | none | Represents some basic information of a user (id, username, and profile image). |
| »» id | string | true | none | none |
| »» username | string | true | none | none |
| »» profileImage | ImageModel | true | none | none |
| »»» width | integer | true | none | none |
| »»» height | integer | true | none | none |
| »»» path | string(uri) | true | none | none |
| »»» size | integer | false | none | none |
| »»» childImages | [ChildImageModel] | false | none | none |
| »»»» width | integer | true | none | none |
| »»»» height | integer | true | none | none |
| »»»» path | string(uri) | true | none | none |
| » contentReference | string | true | none | none |
| » contentReferenceType | string | true | none | none |
| » text | string | true | none | none |
| » replying | string | true | none | none |
| » postDate | string | true | none | none |
| » editDate | string | true | none | none |
| » likes | integer | true | none | none |
| » dislikes | integer | true | none | none |
| » score | integer | true | none | none |
| » interactionCounts | object | true | none | none |
| »» like | integer | false | none | none |
| »» dislike | integer | false | none | none |
| » totalReplies | integer | true | none | none |
| » replies | [CommentReplyModel] | true | none | none |
| »» id | string | true | none | none |
| »» blogPost | string | true | none | none |
| »» user | UserModel | true | none | Represents some basic information of a user (id, username, and profile image). |
| »» contentReference | string | true | none | none |
| »» contentReferenceType | string | true | none | none |
| »» text | string | true | none | none |
| »» replying | string | true | none | none |
| »» postDate | string(date-time) | true | none | none |
| »» editDate | string(date-time) | true | none | none |
| »» likes | integer | true | none | none |
| »» dislikes | integer | true | none | none |
| »» score | integer | true | none | none |
| »» interactionCounts | object | true | none | none |
| »»» like | integer | false | none | none |
| »»» dislike | integer | false | none | none |
| »» userInteraction | [string] | false | none | none |
| » userInteraction | [string] | false | none | none |
Links
getMoreComments => getcomments
| Parameter | Expression |
|---|---|
| fetchAfter | $response.body#/19/id |
getMoreReplies => getCommentReplies
| Parameter | Expression |
|---|---|
getCommentReplies
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/comment/replies?comment=string&blogPost=string&limit=0&rid=string \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/comment/replies?comment=string&blogPost=string&limit=0&rid=string HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/comment/replies?comment=string&blogPost=string&limit=0&rid=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/comment/replies',
params: {
'comment' => 'string',
'blogPost' => 'string',
'limit' => 'integer',
'rid' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/comment/replies', params={
'comment': 'string', 'blogPost': 'string', 'limit': '0', 'rid': 'string'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/comment/replies', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/comment/replies?comment=string&blogPost=string&limit=0&rid=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/comment/replies", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/comment/replies
Get Comment Replies
Retrieve more replies from a comment.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| comment | query | string | true | The identifer of the comment from which to retrieve replies. |
| blogPost | query | string | true | The identifer of the blog post the comment belongs to. |
| limit | query | integer | true | How many replies to retrieve. |
| rid | query | string | true | The identifer of the last reply in the reply chain. |
Example responses
200 Response
[
{
"id": "1234567890abcdef",
"blogPost": "p3OSnFmsR3",
"user": {
"id": "abcdef1234567890",
"username": "the_username",
"profileImage": {
"width": 225,
"height": 225,
"path": "https://pbs.floatplane.com/profile_images/default/user12.png",
"childImages": [
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/profile_images/default/user12.png"
}
]
}
},
"contentReference": "",
"contentReferenceType": "",
"text": "This is my reply text",
"replying": "1234567890abcdef0",
"postDate": "2021-12-17T06:57:33.152Z",
"editDate": "2021-12-17T06:57:33.152Z",
"likes": 0,
"dislikes": 0,
"score": 0,
"interactionCounts": {
"like": 0,
"dislike": 0
},
"userInteraction": null
}
]
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [CommentReplyModel] | false | none | none |
| » id | string | true | none | none |
| » blogPost | string | true | none | none |
| » user | UserModel | true | none | Represents some basic information of a user (id, username, and profile image). |
| »» id | string | true | none | none |
| »» username | string | true | none | none |
| »» profileImage | ImageModel | true | none | none |
| »»» width | integer | true | none | none |
| »»» height | integer | true | none | none |
| »»» path | string(uri) | true | none | none |
| »»» size | integer | false | none | none |
| »»» childImages | [ChildImageModel] | false | none | none |
| »»»» width | integer | true | none | none |
| »»»» height | integer | true | none | none |
| »»»» path | string(uri) | true | none | none |
| » contentReference | string | true | none | none |
| » contentReferenceType | string | true | none | none |
| » text | string | true | none | none |
| » replying | string | true | none | none |
| » postDate | string(date-time) | true | none | none |
| » editDate | string(date-time) | true | none | none |
| » likes | integer | true | none | none |
| » dislikes | integer | true | none | none |
| » score | integer | true | none | none |
| » interactionCounts | object | true | none | none |
| »» like | integer | false | none | none |
| »» dislike | integer | false | none | none |
| » userInteraction | [string] | false | none | none |
likeComment
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/comment/like \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain'
POST https://www.floatplane.com/api/v3/comment/like HTTP/1.1
Host: www.floatplane.com
Content-Type: application/json
Accept: text/plain
const inputBody = '{
"comment": "string",
"blogPost": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain'
};
fetch('https://www.floatplane.com/api/v3/comment/like',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/comment/like',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain'
}
r = requests.post('https://www.floatplane.com/api/v3/comment/like', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/comment/like', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/comment/like");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/comment/like", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/comment/like
Like Comment
Like a comment on a blog post.
Body parameter
{
"comment": "string",
"blogPost": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | CommentLikeV3PostRequest | true | none |
Example responses
200 Response
"like"
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Comment successfully liked | string |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
dislikeComment
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/comment/dislike \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain'
POST https://www.floatplane.com/api/v3/comment/dislike HTTP/1.1
Host: www.floatplane.com
Content-Type: application/json
Accept: text/plain
const inputBody = '{
"comment": "string",
"blogPost": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain'
};
fetch('https://www.floatplane.com/api/v3/comment/dislike',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/comment/dislike',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain'
}
r = requests.post('https://www.floatplane.com/api/v3/comment/dislike', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/comment/dislike', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/comment/dislike");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/comment/dislike", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/comment/dislike
Dislike Comment
Dislike a comment on a blog post.
Body parameter
{
"comment": "string",
"blogPost": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | CommentLikeV3PostRequest | true | none |
Example responses
200 Response
"dislike"
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Comment successfully disliked | string |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
ContentV3
Content retrieval and interacting.
getCreatorBlogPosts
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/content/creator?id=string&limit=1 \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/content/creator?id=string&limit=1 HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/creator?id=string&limit=1',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/content/creator',
params: {
'id' => 'string',
'limit' => 'integer'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/content/creator', params={
'id': 'string', 'limit': '1'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/content/creator', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/creator?id=string&limit=1");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/content/creator", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/content/creator
Get Creator Blog Posts
Retrieve a paginated list of blog posts from a creator. Or search for blog posts from a creator.
Example query: https://www.floatplane.com/api/v3/content/creator?id=59f94c0bdd241b70349eb72b&search=illegal&tags[0]=battery
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | query | string | true | The GUID of the creator to retrieve posts from. |
| limit | query | integer | true | The maximum number of posts to return. |
| fetchAfter | query | integer | false | The number of posts to skip. Usually a multiple of limit, to get the next “page” of results. |
| search | query | string | false | Search filter to look for specific posts. |
| tags | query | array[string] | false | An array of tags to search against, possibly in addition to search. |
Example responses
200 Response
[
{
"id": "Dw2ms0AgL8",
"guid": "Dw2ms0AgL8",
"title": "Livestream VOD – October 9, 2021 @ 07:18 – First Linux Stream",
"text": "<p>chat on Twitch</p>",
"type": "blogPost",
"tags": [
"test"
],
"attachmentOrder": [
"TViGzkuIic"
],
"metadata": {
"hasVideo": true,
"videoCount": 1,
"videoDuration": 5689,
"hasAudio": false,
"audioCount": 0,
"audioDuration": 0,
"hasPicture": false,
"pictureCount": 0,
"hasGallery": false,
"galleryCount": 0,
"isFeatured": false
},
"releaseDate": "2021-10-09T09:29:00.039Z",
"likes": 41,
"dislikes": 0,
"score": 41,
"comments": 28,
"creator": {
"id": "59f94c0bdd241b70349eb72b",
"owner": {
"id": "59f94c0bdd241b70349eb723",
"username": "Linus"
},
"title": "LinusTechTips",
"urlname": "linustechtips",
"description": "We make entertaining videos about technology, including tech reviews, showcases and other content.",
"about": "# We're LinusTechTips\nWe make videos and stuff, cool eh?",
"category": {
"title": "Technology"
},
"cover": {
"width": 1990,
"height": 519,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867.jpeg",
"childImages": [
{
"width": 1245,
"height": 325,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867_1245x325.jpeg"
}
]
},
"icon": {
"width": 600,
"height": 600,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205.jpeg",
"childImages": [
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_250x250.jpeg"
},
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_100x100.jpeg"
}
]
},
"liveStream": {
"id": "5c13f3c006f1be15e08e05c0",
"title": "First Linux Stream",
"description": "<p>chat on Twitch</p>",
"thumbnail": {
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412_400x225.jpeg"
}
]
},
"owner": "59f94c0bdd241b70349eb72b",
"streamPath": "/api/video/v1/us-east-1.758417551536.channel.yKkxur4ukc0B.m3u8",
"offline": {
"title": "Offline",
"description": "We're offline for now – please check back later!",
"thumbnail": {
"width": 1920,
"height": 1080,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_400x225.jpeg"
},
{
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_1200x675.jpeg"
}
]
}
}
},
"subscriptionPlans": [
{
"id": "5d48d0306825b5780db93d07",
"title": "LTT Supporter (1080p)",
"description": "Includes:\n- Early access (when possible)\n- Live Streaming\n- Behind-the-scenes, cutting room floor & exclusives\n\nNOTE: Tech Quickie and TechLinked are included for now, but will move to their own Floatplane pages in the future",
"price": "5.00",
"priceYearly": "50.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": true,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
},
{
"id": "5e0ba6ac14e2590f760a0f0f",
"title": "LTT Supporter Plus",
"description": "You are the real MVP. \n\nYour support helps us continue to build out our team, drive up production values, run experiments that might lose money for a long time (*cough* LTX *cough*) and otherwise be the best content creators we can be.\n\nThis tier includes all the perks of the previous ones, but at floatplane's glorious high bitrate 4K!",
"price": "10.00",
"priceYearly": "100.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": false,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
}
],
"discoverable": true,
"subscriberCountDisplay": "total",
"incomeDisplay": false,
"card": {
"width": 375,
"height": 500,
"path": "https://pbs.floatplane.com/creator_card/59f94c0bdd241b70349eb72b/281467946609369_1551250329871.jpeg",
"childImages": [
{
"width": 300,
"height": 400,
"path": "https://pbs.floatplane.com/creator_card/59f94c0bdd241b70349eb72b/281467946609369_1551250329871_300x400.jpeg"
}
]
}
},
"wasReleasedSilently": true,
"thumbnail": {
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412_400x225.jpeg"
}
]
},
"isAccessible": true,
"videoAttachments": [
"TViGzkuIic"
],
"audioAttachments": [],
"pictureAttachments": [],
"galleryAttachments": []
},
{
"id": "ge4gLGfXnz",
"guid": "ge4gLGfXnz",
"title": "Livestream VOD – October 8, 2021 @ 20:26 – I Have MORE to Say About Steam Deck - WAN Show October 8, 2021",
"text": "<p>Honey automatically applies the best coupon codes to save you money at </p><p>different online checkouts, try it now at <a href=\"https://www.joinhoney.com/linus\">https://www.joinhoney.com/linus</a></p><p><br /></p><p>Buy a Seasonic Ultra Titanium PSU</p><p>On Amazon: <a href=\"https://geni.us/q4lnefC\">https://geni.us/q4lnefC</a></p><p>On NewEgg: <a href=\"https://lmg.gg/8KV3S\">https://lmg.gg/8KV3S</a></p><p><br /></p><p>Visit <a href=\"https://www.squarespace.com/WAN\">https://www.squarespace.com/WAN</a> and use offer code WAN for 10% off</p><p><br /></p><p>Podcast Download: TBD</p><p><br /></p><p>Check out our other Podcasts:</p><p>Carpool Critics Movie Podcast: <a href=\"https://www.youtube.com/channel/UCt-oJR5teQIjOAxCmIQvcgA\">https://www.youtube.com/channel/UCt-oJR5teQIjOAxCmIQvcgA</a></p><p><br /></p><p>Timestamps TBD</p>",
"type": "blogPost",
"attachmentOrder": [
"psqoN3CgMH",
"KijsTQP8Rr"
],
"metadata": {
"hasVideo": true,
"videoCount": 2,
"videoDuration": 9506,
"hasAudio": false,
"audioCount": 0,
"audioDuration": 0,
"hasPicture": false,
"pictureCount": 0,
"hasGallery": false,
"galleryCount": 0,
"isFeatured": false
},
"releaseDate": "2021-10-09T09:28:00.015Z",
"likes": 43,
"dislikes": 3,
"score": 40,
"comments": 24,
"creator": {
"id": "59f94c0bdd241b70349eb72b",
"owner": {
"id": "59f94c0bdd241b70349eb723",
"username": "Linus"
},
"title": "LinusTechTips",
"urlname": "linustechtips",
"description": "We make entertaining videos about technology, including tech reviews, showcases and other content.",
"about": "# We're LinusTechTips\nWe make videos and stuff, cool eh?",
"category": {
"title": "Technology"
},
"cover": {
"width": 1990,
"height": 519,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867.jpeg",
"childImages": [
{
"width": 1245,
"height": 325,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867_1245x325.jpeg"
}
]
},
"icon": {
"width": 600,
"height": 600,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205.jpeg",
"childImages": [
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_250x250.jpeg"
},
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_100x100.jpeg"
}
]
},
"liveStream": {
"id": "5c13f3c006f1be15e08e05c0",
"title": "First Linux Stream",
"description": "<p>chat on Twitch</p>",
"thumbnail": {
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412_400x225.jpeg"
}
]
},
"owner": "59f94c0bdd241b70349eb72b",
"streamPath": "/api/video/v1/us-east-1.758417551536.channel.yKkxur4ukc0B.m3u8",
"offline": {
"title": "Offline",
"description": "We're offline for now – please check back later!",
"thumbnail": {
"width": 1920,
"height": 1080,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_400x225.jpeg"
},
{
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_1200x675.jpeg"
}
]
}
}
},
"subscriptionPlans": [
{
"id": "5d48d0306825b5780db93d07",
"title": "LTT Supporter (1080p)",
"description": "Includes:\n- Early access (when possible)\n- Live Streaming\n- Behind-the-scenes, cutting room floor & exclusives\n\nNOTE: Tech Quickie and TechLinked are included for now, but will move to their own Floatplane pages in the future",
"price": "5.00",
"priceYearly": "50.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": true,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
},
{
"id": "5e0ba6ac14e2590f760a0f0f",
"title": "LTT Supporter Plus",
"description": "You are the real MVP. \n\nYour support helps us continue to build out our team, drive up production values, run experiments that might lose money for a long time (*cough* LTX *cough*) and otherwise be the best content creators we can be.\n\nThis tier includes all the perks of the previous ones, but at floatplane's glorious high bitrate 4K!",
"price": "10.00",
"priceYearly": "100.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": false,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
}
],
"discoverable": true,
"subscriberCountDisplay": "total",
"incomeDisplay": false,
"card": {
"width": 375,
"height": 500,
"path": "https://pbs.floatplane.com/creator_card/59f94c0bdd241b70349eb72b/281467946609369_1551250329871.jpeg",
"childImages": [
{
"width": 300,
"height": 400,
"path": "https://pbs.floatplane.com/creator_card/59f94c0bdd241b70349eb72b/281467946609369_1551250329871_300x400.jpeg"
}
]
}
},
"wasReleasedSilently": false,
"thumbnail": {
"width": 640,
"height": 360,
"path": "https://pbs.floatplane.com/blogPost_thumbnails/ge4gLGfXnz/564833356017787_1633771544979.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/blogPost_thumbnails/ge4gLGfXnz/564833356017787_1633771544979_400x225.jpeg"
}
]
},
"isAccessible": true,
"videoAttachments": [
"KijsTQP8Rr",
"psqoN3CgMH"
],
"audioAttachments": [],
"pictureAttachments": [],
"galleryAttachments": []
}
]
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Creator posted returned | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [BlogPostModelV3] | false | none | none |
| » id | string | true | none | none |
| » guid | string | true | none | none |
| » title | string | true | none | none |
| » text | string | true | none | Text description of the post. May have HTML paragraph (<p>) tags surrounding it, along with other HTML… |
| » type | string | true | none | none |
| » tags | [string] | true | none | none |
| » attachmentOrder | [string] | true | none | none |
| » metadata | PostMetadataModel | true | none | none |
| »» hasVideo | boolean | true | none | none |
| »» videoCount | integer | true | none | none |
| »» videoDuration | number | true | none | none |
| »» hasAudio | boolean | true | none | none |
| »» audioCount | integer | true | none | none |
| »» audioDuration | number | true | none | none |
| »» hasPicture | boolean | true | none | none |
| »» pictureCount | integer | true | none | none |
| »» hasGallery | boolean | true | none | none |
| »» galleryCount | integer | true | none | none |
| »» isFeatured | boolean | true | none | none |
| » releaseDate | string(date-time) | true | none | none |
| » likes | integer | true | none | none |
| » dislikes | integer | true | none | none |
| » score | integer | true | none | none |
| » comments | integer | true | none | none |
| » creator | object | true | none | none |
| »» id | string | true | none | none |
| »» owner | object | true | none | none |
| »»» id | string | true | none | none |
| »»» username | string | true | none | none |
| »» title | string | true | none | none |
| »» urlname | string | true | none | none |
| »» description | string | true | none | none |
| »» about | string | true | none | none |
| »» category | object | true | none | none |
| »»» title | string | false | none | none |
| »» cover | ImageModel | true | none | none |
| »»» width | integer | true | none | none |
| »»» height | integer | true | none | none |
| »»» path | string(uri) | true | none | none |
| »»» size | integer | false | none | none |
| »»» childImages | [ChildImageModel] | false | none | none |
| »»»» width | integer | true | none | none |
| »»»» height | integer | true | none | none |
| »»»» path | string(uri) | true | none | none |
| »» icon | ImageModel | true | none | none |
| »» liveStream | LiveStreamModel | false | none | none |
| »»» id | string | true | none | none |
| »»» title | string | true | none | none |
| »»» description | string | true | none | none |
| »»» thumbnail | ImageModel | false | none | none |
| »»» owner | string | true | none | none |
| »»» streamPath | string | true | none | none |
| »»» offline | object | true | none | none |
| »»»» title | string | false | none | none |
| »»»» description | string | false | none | none |
| »»»» thumbnail | ImageModel | false | none | none |
| »» subscriptionPlans | [SubscriptionPlanModel] | true | none | none |
| »»» id | string | true | none | none |
| »»» title | string | true | none | none |
| »»» description | string | true | none | none |
| »»» price | string | false | none | none |
| »»» priceYearly | string | false | none | none |
| »»» currency | string | true | none | none |
| »»» logo | string | false | none | none |
| »»» interval | string | true | none | none |
| »»» featured | boolean | true | none | none |
| »»» allowGrandfatheredAccess | boolean | false | none | none |
| »»» discordServers | [DiscordServerModel] | true | none | none |
| »»»» id | string | true | none | none |
| »»»» guildName | string | true | none | none |
| »»»» guildIcon | string | true | none | none |
| »»»» inviteLink | string(uri) | true | none | none |
| »»»» inviteMode | string | true | none | none |
| »»» discordRoles | [DiscordRoleModel] | true | none | none |
| »»»» server | string | true | none | none |
| »»»» roleName | string | true | none | none |
| »» discoverable | boolean | true | none | none |
| »» subscriberCountDisplay | string | true | none | none |
| »» incomeDisplay | boolean | true | none | none |
| »» card | ImageModel | true | none | none |
| » wasReleasedSilently | boolean | true | none | none |
| » thumbnail | ImageModel | false | none | none |
| » isAccessible | boolean | true | none | If false, the post should be marked as locked and not viewable by the user. |
| » videoAttachments | [string] | false | none | none |
| » audioAttachments | [string] | false | none | none |
| » pictureAttachments | [string] | false | none | none |
| » galleryAttachments | [string] | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| type | blogPost |
Links
getBlogPost => getBlogPost
| Parameter | Expression |
|---|---|
| id | $response.body#/0/id |
getMultiCreatorBlogPosts
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/content/creator/list?ids=string&limit=1 \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/content/creator/list?ids=string&limit=1 HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/creator/list?ids=string&limit=1',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/content/creator/list',
params: {
'ids' => 'array[string]',
'limit' => 'integer'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/content/creator/list', params={
'ids': [
"string"
], 'limit': '1'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/content/creator/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/creator/list?ids=string&limit=1");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/content/creator/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/content/creator/list
Get Multi Creator Blog Posts
Retrieve paginated blog posts from multiple creators for the home page.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| ids | query | array[string] | true | The GUID(s) of the creator(s) to retrieve posts from. |
| limit | query | integer | true | The maximum number of posts to retrieve. |
| fetchAfter | query | array[object] | false | For pagination, this is used to determine which posts to skip. There should be one fetchAfter object for each creator in ids. The moreFetchable in the request, and all of the data, comes from the ContentCreatorListV3Response. |
Example responses
200 Response
{
"blogPosts": [
{
"id": "Dw2ms0AgL8",
"guid": "Dw2ms0AgL8",
"title": "Livestream VOD – October 9, 2021 @ 07:18 – First Linux Stream",
"text": "<p>chat on Twitch</p>",
"type": "blogPost",
"attachmentOrder": [
"TViGzkuIic"
],
"metadata": {
"hasVideo": true,
"videoCount": 1,
"videoDuration": 5689,
"hasAudio": false,
"audioCount": 0,
"audioDuration": 0,
"hasPicture": false,
"pictureCount": 0,
"hasGallery": false,
"galleryCount": 0,
"isFeatured": false
},
"releaseDate": "2021-10-09T09:29:00.039Z",
"likes": 40,
"dislikes": 0,
"score": 40,
"comments": 28,
"creator": {
"id": "59f94c0bdd241b70349eb72b",
"owner": {
"id": "59f94c0bdd241b70349eb723",
"username": "Linus"
},
"title": "LinusTechTips",
"urlname": "linustechtips",
"description": "We make entertaining videos about technology, including tech reviews, showcases and other content.",
"about": "# We're LinusTechTips\nWe make videos and stuff, cool eh?",
"category": {
"title": "Technology"
},
"cover": {
"width": 1990,
"height": 519,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867.jpeg",
"childImages": [
{
"width": 1245,
"height": 325,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867_1245x325.jpeg"
}
]
},
"icon": {
"width": 600,
"height": 600,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205.jpeg",
"childImages": [
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_250x250.jpeg"
},
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_100x100.jpeg"
}
]
},
"liveStream": {
"id": "5c13f3c006f1be15e08e05c0",
"title": "First Linux Stream",
"description": "<p>chat on Twitch</p>",
"thumbnail": {
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412_400x225.jpeg"
}
]
},
"owner": "59f94c0bdd241b70349eb72b",
"streamPath": "/api/video/v1/us-east-1.758417551536.channel.yKkxur4ukc0B.m3u8",
"offline": {
"title": "Offline",
"description": "We're offline for now – please check back later!",
"thumbnail": {
"width": 1920,
"height": 1080,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_400x225.jpeg"
},
{
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_1200x675.jpeg"
}
]
}
}
},
"subscriptionPlans": [
{
"id": "5d48d0306825b5780db93d07",
"title": "LTT Supporter (1080p)",
"description": "Includes:\n- Early access (when possible)\n- Live Streaming\n- Behind-the-scenes, cutting room floor & exclusives\n\nNOTE: Tech Quickie and TechLinked are included for now, but will move to their own Floatplane pages in the future",
"price": "5.00",
"priceYearly": "50.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": true,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
},
{
"id": "5e0ba6ac14e2590f760a0f0f",
"title": "LTT Supporter Plus",
"description": "You are the real MVP. \n\nYour support helps us continue to build out our team, drive up production values, run experiments that might lose money for a long time (*cough* LTX *cough*) and otherwise be the best content creators we can be.\n\nThis tier includes all the perks of the previous ones, but at floatplane's glorious high bitrate 4K!",
"price": "10.00",
"priceYearly": "100.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": false,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
}
],
"discoverable": true,
"subscriberCountDisplay": "total",
"incomeDisplay": false,
"card": {
"width": 375,
"height": 500,
"path": "https://pbs.floatplane.com/creator_card/59f94c0bdd241b70349eb72b/281467946609369_1551250329871.jpeg",
"childImages": [
{
"width": 300,
"height": 400,
"path": "https://pbs.floatplane.com/creator_card/59f94c0bdd241b70349eb72b/281467946609369_1551250329871_300x400.jpeg"
}
]
}
},
"wasReleasedSilently": true,
"thumbnail": {
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412_400x225.jpeg"
}
]
},
"isAccessible": true,
"videoAttachments": [
"TViGzkuIic"
],
"audioAttachments": [],
"pictureAttachments": [],
"galleryAttachments": []
},
{
"id": "ge4gLGfXnz",
"guid": "ge4gLGfXnz",
"title": "Livestream VOD – October 8, 2021 @ 20:26 – I Have MORE to Say About Steam Deck - WAN Show October 8, 2021",
"text": "<p>Honey automatically applies the best coupon codes to save you money at </p><p>different online checkouts, try it now at <a href=\"https://www.joinhoney.com/linus\">https://www.joinhoney.com/linus</a></p><p><br /></p><p>Buy a Seasonic Ultra Titanium PSU</p><p>On Amazon: <a href=\"https://geni.us/q4lnefC\">https://geni.us/q4lnefC</a></p><p>On NewEgg: <a href=\"https://lmg.gg/8KV3S\">https://lmg.gg/8KV3S</a></p><p><br /></p><p>Visit <a href=\"https://www.squarespace.com/WAN\">https://www.squarespace.com/WAN</a> and use offer code WAN for 10% off</p><p><br /></p><p>Podcast Download: TBD</p><p><br /></p><p>Check out our other Podcasts:</p><p>Carpool Critics Movie Podcast: <a href=\"https://www.youtube.com/channel/UCt-oJR5teQIjOAxCmIQvcgA\">https://www.youtube.com/channel/UCt-oJR5teQIjOAxCmIQvcgA</a></p><p><br /></p><p>Timestamps TBD</p>",
"type": "blogPost",
"attachmentOrder": [
"psqoN3CgMH",
"KijsTQP8Rr"
],
"metadata": {
"hasVideo": true,
"videoCount": 2,
"videoDuration": 9506,
"hasAudio": false,
"audioCount": 0,
"audioDuration": 0,
"hasPicture": false,
"pictureCount": 0,
"hasGallery": false,
"galleryCount": 0,
"isFeatured": false
},
"releaseDate": "2021-10-09T09:28:00.015Z",
"likes": 43,
"dislikes": 3,
"score": 40,
"comments": 24,
"creator": {
"id": "59f94c0bdd241b70349eb72b",
"owner": {
"id": "59f94c0bdd241b70349eb723",
"username": "Linus"
},
"title": "LinusTechTips",
"urlname": "linustechtips",
"description": "We make entertaining videos about technology, including tech reviews, showcases and other content.",
"about": "# We're LinusTechTips\nWe make videos and stuff, cool eh?",
"category": {
"title": "Technology"
},
"cover": {
"width": 1990,
"height": 519,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867.jpeg",
"childImages": [
{
"width": 1245,
"height": 325,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867_1245x325.jpeg"
}
]
},
"icon": {
"width": 600,
"height": 600,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205.jpeg",
"childImages": [
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_250x250.jpeg"
},
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_100x100.jpeg"
}
]
},
"liveStream": {
"id": "5c13f3c006f1be15e08e05c0",
"title": "First Linux Stream",
"description": "<p>chat on Twitch</p>",
"thumbnail": {
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412_400x225.jpeg"
}
]
},
"owner": "59f94c0bdd241b70349eb72b",
"streamPath": "/api/video/v1/us-east-1.758417551536.channel.yKkxur4ukc0B.m3u8",
"offline": {
"title": "Offline",
"description": "We're offline for now – please check back later!",
"thumbnail": {
"width": 1920,
"height": 1080,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_400x225.jpeg"
},
{
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_1200x675.jpeg"
}
]
}
}
},
"subscriptionPlans": [
{
"id": "5d48d0306825b5780db93d07",
"title": "LTT Supporter (1080p)",
"description": "Includes:\n- Early access (when possible)\n- Live Streaming\n- Behind-the-scenes, cutting room floor & exclusives\n\nNOTE: Tech Quickie and TechLinked are included for now, but will move to their own Floatplane pages in the future",
"price": "5.00",
"priceYearly": "50.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": true,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
},
{
"id": "5e0ba6ac14e2590f760a0f0f",
"title": "LTT Supporter Plus",
"description": "You are the real MVP. \n\nYour support helps us continue to build out our team, drive up production values, run experiments that might lose money for a long time (*cough* LTX *cough*) and otherwise be the best content creators we can be.\n\nThis tier includes all the perks of the previous ones, but at floatplane's glorious high bitrate 4K!",
"price": "10.00",
"priceYearly": "100.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": false,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
}
],
"discoverable": true,
"subscriberCountDisplay": "total",
"incomeDisplay": false,
"card": {
"width": 375,
"height": 500,
"path": "https://pbs.floatplane.com/creator_card/59f94c0bdd241b70349eb72b/281467946609369_1551250329871.jpeg",
"childImages": [
{
"width": 300,
"height": 400,
"path": "https://pbs.floatplane.com/creator_card/59f94c0bdd241b70349eb72b/281467946609369_1551250329871_300x400.jpeg"
}
]
}
},
"wasReleasedSilently": false,
"thumbnail": {
"width": 640,
"height": 360,
"path": "https://pbs.floatplane.com/blogPost_thumbnails/ge4gLGfXnz/564833356017787_1633771544979.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/blogPost_thumbnails/ge4gLGfXnz/564833356017787_1633771544979_400x225.jpeg"
}
]
},
"isAccessible": true,
"videoAttachments": [
"KijsTQP8Rr",
"psqoN3CgMH"
],
"audioAttachments": [],
"pictureAttachments": [],
"galleryAttachments": []
}
],
"lastElements": [
{
"creatorId": "59f94c0bdd241b70349eb72b",
"blogPostId": "l2wH2gXLiW",
"moreFetchable": true
}
]
}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Posts returned | ContentCreatorListV3Response |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
getContentTags
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/content/tags?creatorIds=string \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/content/tags?creatorIds=string HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/tags?creatorIds=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/content/tags',
params: {
'creatorIds' => 'array[string]'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/content/tags', params={
'creatorIds': [
"string"
]
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/content/tags', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/tags?creatorIds=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/content/tags", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/content/tags
Get Content Tags
Retrieve all tags and the number of times the tags have been used for the specified creator(s).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| creatorIds | query | array[string] | true | The creator(s) to search by. |
Example responses
200 Response
{
"battery": 1,
"server": 1,
"Airpods": 1,
"storage": 1,
"tjm": 1,
"Apple": 1,
"swap": 1,
"memory": 1,
"ltt": 1
}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Creator tag information | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | integer | false | none | none |
getBlogPost
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/content/post?id=string \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/content/post?id=string HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/post?id=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/content/post',
params: {
'id' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/content/post', params={
'id': 'string'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/content/post', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/post?id=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/content/post", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/content/post
Get Blog Post
Retrieve more details on a specific blog post object for viewing.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | query | string | true | The ID of the post to be retrieved. |
Example responses
200 Response
{
"id": "Dw2ms0AgL8",
"guid": "Dw2ms0AgL8",
"title": "Livestream VOD – October 9, 2021 @ 07:18 – First Linux Stream",
"text": "<p>chat on Twitch</p>",
"type": "blogPost",
"tags": [
"test"
],
"attachmentOrder": [
"TViGzkuIic"
],
"metadata": {
"hasVideo": true,
"videoCount": 1,
"videoDuration": 5689,
"hasAudio": false,
"audioCount": 0,
"audioDuration": 0,
"hasPicture": false,
"pictureCount": 0,
"hasGallery": false,
"galleryCount": 0,
"isFeatured": false
},
"releaseDate": "2021-10-09T09:29:00.039Z",
"likes": 41,
"dislikes": 0,
"score": 41,
"comments": 28,
"creator": {
"id": "59f94c0bdd241b70349eb72b",
"owner": "59f94c0bdd241b70349eb723",
"title": "LinusTechTips",
"urlname": "linustechtips",
"description": "We make entertaining videos about technology, including tech reviews, showcases and other content.",
"about": "# We're LinusTechTips\nWe make videos and stuff, cool eh?",
"category": "59f94c0bdd241b70349eb727",
"cover": null,
"icon": {
"width": 600,
"height": 600,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205.jpeg",
"childImages": [
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_250x250.jpeg"
},
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_100x100.jpeg"
}
]
},
"liveStream": null,
"subscriptionPlans": null,
"discoverable": true,
"subscriberCountDisplay": "total",
"incomeDisplay": false
},
"wasReleasedSilently": true,
"thumbnail": {
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412_400x225.jpeg"
}
]
},
"isAccessible": true,
"userInteraction": [],
"videoAttachments": [
{
"id": "TViGzkuIic",
"guid": "TViGzkuIic",
"title": "October 9, 2021 @ 07:18 – First Linux Stream",
"type": "video",
"description": "",
"releaseDate": null,
"duration": 5689,
"creator": "59f94c0bdd241b70349eb72b",
"likes": 0,
"dislikes": 0,
"score": 0,
"isProcessing": false,
"primaryBlogPost": "Dw2ms0AgL8",
"thumbnail": {
"width": 1920,
"height": 1080,
"path": "https://pbs.floatplane.com/content_thumbnails/TViGzkuIic/324783659287024_1633769709593.jpeg",
"childImages": []
},
"isAccessible": true
}
],
"audioAttachments": [
{
"id": "iGssjNGPSD",
"guid": "iGssjNGPSD",
"title": "Robocop FP.mp3",
"type": "audio",
"description": "",
"duration": 4165,
"waveform": {
"dataSetLength": 3,
"highestValue": 71,
"lowestValue": 50,
"data": [
71,
50,
69
]
},
"creator": "59f94c0bdd241b70349eb72b",
"likes": 0,
"dislikes": 0,
"score": 0,
"isProcessing": false,
"primaryBlogPost": "jVU2y9PlnG",
"isAccessible": true
}
],
"pictureAttachments": [],
"galleryAttachments": []
}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Detailed post information | ContentPostV3Response |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
getRelatedBlogPosts
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/content/related?id=string \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/content/related?id=string HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/related?id=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/content/related',
params: {
'id' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/content/related', params={
'id': 'string'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/content/related', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/related?id=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/content/related", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/content/related
Get Related Blog Posts
Retrieve a list of blog posts that are related to the post being viewed.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | query | string | true | The ID of the originating post. |
Example responses
200 Response
[
{
"id": "ge4gLGfXnz",
"guid": "ge4gLGfXnz",
"title": "Livestream VOD – October 8, 2021 @ 20:26 – I Have MORE to Say About Steam Deck - WAN Show October 8, 2021",
"text": "<p>Honey automatically applies the best coupon codes to save you money at </p><p>different online checkouts, try it now at <a href=\"https://www.joinhoney.com/linus\">https://www.joinhoney.com/linus</a></p><p><br /></p><p>Buy a Seasonic Ultra Titanium PSU</p><p>On Amazon: <a href=\"https://geni.us/q4lnefC\">https://geni.us/q4lnefC</a></p><p>On NewEgg: <a href=\"https://lmg.gg/8KV3S\">https://lmg.gg/8KV3S</a></p><p><br /></p><p>Visit <a href=\"https://www.squarespace.com/WAN\">https://www.squarespace.com/WAN</a> and use offer code WAN for 10% off</p><p><br /></p><p>Podcast Download: TBD</p><p><br /></p><p>Check out our other Podcasts:</p><p>Carpool Critics Movie Podcast: <a href=\"https://www.youtube.com/channel/UCt-oJR5teQIjOAxCmIQvcgA\">https://www.youtube.com/channel/UCt-oJR5teQIjOAxCmIQvcgA</a></p><p><br /></p><p>Timestamps TBD</p>",
"type": "blogPost",
"tags": [
"test"
],
"attachmentOrder": [
"psqoN3CgMH",
"KijsTQP8Rr"
],
"metadata": {
"hasVideo": true,
"videoCount": 2,
"videoDuration": 9506,
"hasAudio": false,
"audioCount": 0,
"audioDuration": 0,
"hasPicture": false,
"pictureCount": 0,
"hasGallery": false,
"galleryCount": 0,
"isFeatured": false
},
"releaseDate": "2021-10-09T09:28:00.015Z",
"likes": 43,
"dislikes": 3,
"score": 40,
"comments": 24,
"creator": {
"id": "59f94c0bdd241b70349eb72b",
"owner": {
"id": "59f94c0bdd241b70349eb723",
"username": "Linus"
},
"title": "LinusTechTips",
"urlname": "linustechtips",
"description": "We make entertaining videos about technology, including tech reviews, showcases and other content.",
"about": "# We're LinusTechTips\nWe make videos and stuff, cool eh?",
"category": {
"title": "Technology"
},
"cover": {
"width": 1990,
"height": 519,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867.jpeg",
"childImages": [
{
"width": 1245,
"height": 325,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867_1245x325.jpeg"
}
]
},
"icon": {
"width": 600,
"height": 600,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205.jpeg",
"childImages": [
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_250x250.jpeg"
},
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_100x100.jpeg"
}
]
},
"liveStream": {
"id": "5c13f3c006f1be15e08e05c0",
"title": "First Linux Stream",
"description": "<p>chat on Twitch</p>",
"thumbnail": {
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412_400x225.jpeg"
}
]
},
"owner": "59f94c0bdd241b70349eb72b",
"streamPath": "/api/video/v1/us-east-1.758417551536.channel.yKkxur4ukc0B.m3u8",
"offline": {
"title": "Offline",
"description": "We're offline for now – please check back later!",
"thumbnail": {
"width": 1920,
"height": 1080,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_400x225.jpeg"
},
{
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_1200x675.jpeg"
}
]
}
}
},
"subscriptionPlans": [
{
"id": "5d48d0306825b5780db93d07",
"title": "LTT Supporter (1080p)",
"description": "Includes:\n- Early access (when possible)\n- Live Streaming\n- Behind-the-scenes, cutting room floor & exclusives\n\nNOTE: Tech Quickie and TechLinked are included for now, but will move to their own Floatplane pages in the future",
"price": "5.00",
"priceYearly": "50.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": true,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
},
{
"id": "5e0ba6ac14e2590f760a0f0f",
"title": "LTT Supporter Plus",
"description": "You are the real MVP. \n\nYour support helps us continue to build out our team, drive up production values, run experiments that might lose money for a long time (*cough* LTX *cough*) and otherwise be the best content creators we can be.\n\nThis tier includes all the perks of the previous ones, but at floatplane's glorious high bitrate 4K!",
"price": "10.00",
"priceYearly": "100.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": false,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
}
],
"discoverable": true,
"subscriberCountDisplay": "total",
"incomeDisplay": false,
"card": {
"width": 375,
"height": 500,
"path": "https://pbs.floatplane.com/creator_card/59f94c0bdd241b70349eb72b/281467946609369_1551250329871.jpeg",
"childImages": [
{
"width": 300,
"height": 400,
"path": "https://pbs.floatplane.com/creator_card/59f94c0bdd241b70349eb72b/281467946609369_1551250329871_300x400.jpeg"
}
]
}
},
"wasReleasedSilently": false,
"thumbnail": {
"width": 640,
"height": 360,
"path": "https://pbs.floatplane.com/blogPost_thumbnails/ge4gLGfXnz/564833356017787_1633771544979.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/blogPost_thumbnails/ge4gLGfXnz/564833356017787_1633771544979_400x225.jpeg"
}
]
},
"isAccessible": true
},
{
"id": "j7KjCaKrtV",
"guid": "j7KjCaKrtV",
"title": "TL: Facebook Does Not Care.",
"text": "<p><strong>NEWS SOURCES:</strong></p><p><strong> </strong></p><p>MICRO-BOSS, WORD</p><p>Microsoft to make its devices more repairable following pressure</p><p><a href=\"https://linustechtips.com/topic/1379452-microsoft-agrees-to-independent-third-party-study-to-look-into-right-to-repair/\">https://linustechtips.com/topic/1379452-microsoft-agrees-to-independent-third-party-study-to-look-into-right-to-repair/</a></p><p><a href=\"https://grist.org/accountability/bowing-to-investors-microsoft-will-make-its-devices-easier-to-fix/\">https://grist.org/accountability/bowing-to-investors-microsoft-will-make-its-devices-easier-to-fix/</a></p><p><a href=\"https://www.asyousow.org/about-us#:~:text=As%20You%20Sow%20is%20the%20nation%E2%80%99s%20non-profit%20leader%20in%20shareholder%20advocacy\">https://www.asyousow.org/about-us#:~:text=As%20You%20Sow%20is%20the%20nation%E2%80%99s%20non-profit%20leader%20in%20shareholder%20advocacy</a>.</p><p>Louis is happy <a href=\"https://www.youtube.com/watch?v=TiMdvR99fBQ\">https://www.youtube.com/watch?v=TiMdvR99fBQ</a></p><p> </p><p>WHAT, THIS OLE’D THING?</p><p>Switch OLED launches <a href=\"https://arstechnica.com/gaming/2021/10/switch-oled-review-nintendos-nicest-most-nonessential-upgrade-yet/\">https://arstechnica.com/gaming/2021/10/switch-oled-review-nintendos-nicest-most-nonessential-upgrade-yet/</a></p><p><a href=\"https://www.youtube.com/watch?v=4mHq6Y7JSmg\">https://www.youtube.com/watch?v=4mHq6Y7JSmg</a></p><p>New Joy-Cons, but drift isn’t going away</p><p><a href=\"https://www.polygon.com/22688586/nintendo-switch-oled-joy-con-drift-controllers\">https://www.polygon.com/22688586/nintendo-switch-oled-joy-con-drift-controllers</a></p><p>screen protector <a href=\"https://www.nintendolife.com/news/2021/10/switch-oled-comes-with-a-screen-protector-installed-but-please-dont-remove-it-says-nintendo\">https://www.nintendolife.com/news/2021/10/switch-oled-comes-with-a-screen-protector-installed-but-please-dont-remove-it-says-nintendo</a></p><p> </p><p>SHAMEBOOK</p><p>Facebook has more outages</p><p><a href=\"https://www.engadget.com/facebook-and-instagram-are-down-for-the-second-time-this-week-193257623.html\">https://www.engadget.com/facebook-and-instagram-are-down-for-the-second-time-this-week-193257623.html</a></p><p><a href=\"https://twitter.com/Facebook/status/1446556732977778695\">https://twitter.com/Facebook/status/1446556732977778695</a></p><p>IG fixed <a href=\"https://twitter.com/InstagramComms/status/1446582114468597761\">https://twitter.com/InstagramComms/status/1446582114468597761</a></p><p>Unfollow everything developer banned <a href=\"https://www.theverge.com/2021/10/8/22716044/facebook-unfollow-everything-tool-louis-barclay-banned-for-life\">https://www.theverge.com/2021/10/8/22716044/facebook-unfollow-everything-tool-louis-barclay-banned-for-life</a></p><p><a href=\"https://slate.com/technology/2021/10/facebook-unfollow-everything-cease-desist.html\">https://slate.com/technology/2021/10/facebook-unfollow-everything-cease-desist.html</a></p><p><a href=\"https://louisbarclay.notion.site/Unfollow-Everything-cease-and-desist-letter-from-Facebook-ea219169421b457bb7ce010b7bf9ce1f\">https://louisbarclay.notion.site/Unfollow-Everything-cease-and-desist-letter-from-Facebook-ea219169421b457bb7ce010b7bf9ce1f</a></p><p> </p><p>QUICK BITS</p><p> </p><p>GET JEFF’D</p><p>Game backgrounds on Twitch replaced with Jeff Bezos</p><p><a href=\"https://twitter.com/AnEternalEnigma/status/1446421951883489281\">https://twitter.com/AnEternalEnigma/status/1446421951883489281</a></p><p>defaced <a href=\"https://www.cnet.com/tech/gaming/twitch-reportedly-defaced-with-pictures-of-jeff-bezos/\">https://www.cnet.com/tech/gaming/twitch-reportedly-defaced-with-pictures-of-jeff-bezos/</a></p><p> </p><p>ABOUT TO GET PADDLED</p><p>First In-App Purchasing alternative for iOS: Paddle</p><p><a href=\"https://twitter.com/PaddleHQ/status/1446050078301605890\">https://twitter.com/PaddleHQ/status/1446050078301605890</a></p><p><a href=\"https://paddle.com/platform/in-app-purchase/\">https://paddle.com/platform/in-app-purchase/</a></p><p>Sweeney</p><p><a href=\"https://twitter.com/TimSweeneyEpic/status/1446117510919585796\">https://twitter.com/TimSweeneyEpic/status/1446117510919585796</a></p><p> </p><p>STAY KINECTED</p><p>Sky Glass TV looks like a big iMac</p><p><a href=\"https://www.youtube.com/watch?v=GpGskL5PCKU\">https://www.youtube.com/watch?v=GpGskL5PCKU</a></p><p>Kinect motion controls <a href=\"https://www.theverge.com/2021/10/7/22714117/microsoft-kinect-is-back-sky-glass-tv-smart-camera-features\">https://www.theverge.com/2021/10/7/22714117/microsoft-kinect-is-back-sky-glass-tv-smart-camera-features</a> - full screen embedded video on this page and record</p><p><br /></p><p>UPGRADED TO CUMULONIMBUS</p><p>XCloud is now running Xbox Series X hardware</p><p><a href=\"https://www.kitguru.net/gaming/matthew-wilson/microsoft-has-upgraded-xcloud-to-xbox-series-x-hardware/\">https://www.kitguru.net/gaming/matthew-wilson/microsoft-has-upgraded-xcloud-to-xbox-series-x-hardware/</a></p><p><a href=\"https://www.eurogamer.net/articles/2021-10-07-xbox-cloud-gaming-now-runs-on-series-x-hardware\">https://www.eurogamer.net/articles/2021-10-07-xbox-cloud-gaming-now-runs-on-series-x-hardware</a></p><p> </p><p>NO PIXEL LEFT UN-LEAKED</p><p>Pixel 6 and 6 Pro teardowns leaked</p><p><a href=\"https://9to5google.com/2021/10/08/pixel-6-pro-teardown-leak/\">https://9to5google.com/2021/10/08/pixel-6-pro-teardown-leak/</a></p>",
"type": "blogPost",
"attachmentOrder": [
"R3mVASdVGt"
],
"metadata": {
"hasVideo": true,
"videoCount": 1,
"videoDuration": 377,
"hasAudio": false,
"audioCount": 0,
"audioDuration": 0,
"hasPicture": false,
"pictureCount": 0,
"hasGallery": false,
"galleryCount": 0,
"isFeatured": false
},
"releaseDate": "2021-10-09T02:55:00.045Z",
"likes": 101,
"dislikes": 0,
"score": 101,
"comments": 19,
"creator": {
"id": "59f94c0bdd241b70349eb72b",
"owner": {
"id": "59f94c0bdd241b70349eb723",
"username": "Linus"
},
"title": "LinusTechTips",
"urlname": "linustechtips",
"description": "We make entertaining videos about technology, including tech reviews, showcases and other content.",
"about": "# We're LinusTechTips\nWe make videos and stuff, cool eh?",
"category": {
"title": "Technology"
},
"cover": {
"width": 1990,
"height": 519,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867.jpeg",
"childImages": [
{
"width": 1245,
"height": 325,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867_1245x325.jpeg"
}
]
},
"icon": {
"width": 600,
"height": 600,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205.jpeg",
"childImages": [
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_250x250.jpeg"
},
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_100x100.jpeg"
}
]
},
"liveStream": {
"id": "5c13f3c006f1be15e08e05c0",
"title": "First Linux Stream",
"description": "<p>chat on Twitch</p>",
"thumbnail": {
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412_400x225.jpeg"
}
]
},
"owner": "59f94c0bdd241b70349eb72b",
"streamPath": "/api/video/v1/us-east-1.758417551536.channel.yKkxur4ukc0B.m3u8",
"offline": {
"title": "Offline",
"description": "We're offline for now – please check back later!",
"thumbnail": {
"width": 1920,
"height": 1080,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_400x225.jpeg"
},
{
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_1200x675.jpeg"
}
]
}
}
},
"subscriptionPlans": [
{
"id": "5d48d0306825b5780db93d07",
"title": "LTT Supporter (1080p)",
"description": "Includes:\n- Early access (when possible)\n- Live Streaming\n- Behind-the-scenes, cutting room floor & exclusives\n\nNOTE: Tech Quickie and TechLinked are included for now, but will move to their own Floatplane pages in the future",
"price": "5.00",
"priceYearly": "50.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": true,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
},
{
"id": "5e0ba6ac14e2590f760a0f0f",
"title": "LTT Supporter Plus",
"description": "You are the real MVP. \n\nYour support helps us continue to build out our team, drive up production values, run experiments that might lose money for a long time (*cough* LTX *cough*) and otherwise be the best content creators we can be.\n\nThis tier includes all the perks of the previous ones, but at floatplane's glorious high bitrate 4K!",
"price": "10.00",
"priceYearly": "100.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": false,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
}
],
"discoverable": true,
"subscriberCountDisplay": "total",
"incomeDisplay": false,
"card": {
"width": 375,
"height": 500,
"path": "https://pbs.floatplane.com/creator_card/59f94c0bdd241b70349eb72b/281467946609369_1551250329871.jpeg",
"childImages": [
{
"width": 300,
"height": 400,
"path": "https://pbs.floatplane.com/creator_card/59f94c0bdd241b70349eb72b/281467946609369_1551250329871_300x400.jpeg"
}
]
}
},
"wasReleasedSilently": false,
"thumbnail": {
"width": 1920,
"height": 1080,
"path": "https://pbs.floatplane.com/blogPost_thumbnails/j7KjCaKrtV/726584368653303_1633741254596.jpeg",
"childImages": [
{
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/blogPost_thumbnails/j7KjCaKrtV/726584368653303_1633741254596_1200x675.jpeg"
},
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/blogPost_thumbnails/j7KjCaKrtV/726584368653303_1633741254596_400x225.jpeg"
}
]
},
"isAccessible": true
},
{
"id": "VkxlNv3k8j",
"guid": "VkxlNv3k8j",
"title": "TQ: Has USB-C WON Against Apple?",
"text": "<p>Learn about the proposed USB-C mandate in the EU.</p>",
"type": "blogPost",
"attachmentOrder": [
"7OWQQsxYYN"
],
"metadata": {
"hasVideo": true,
"videoCount": 1,
"videoDuration": 293,
"hasAudio": false,
"audioCount": 0,
"audioDuration": 0,
"hasPicture": false,
"pictureCount": 0,
"hasGallery": false,
"galleryCount": 0,
"isFeatured": false
},
"releaseDate": "2021-10-08T23:31:00.037Z",
"likes": 106,
"dislikes": 0,
"score": 106,
"comments": 15,
"creator": {
"id": "59f94c0bdd241b70349eb72b",
"owner": {
"id": "59f94c0bdd241b70349eb723",
"username": "Linus"
},
"title": "LinusTechTips",
"urlname": "linustechtips",
"description": "We make entertaining videos about technology, including tech reviews, showcases and other content.",
"about": "# We're LinusTechTips\nWe make videos and stuff, cool eh?",
"category": {
"title": "Technology"
},
"cover": {
"width": 1990,
"height": 519,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867.jpeg",
"childImages": [
{
"width": 1245,
"height": 325,
"path": "https://pbs.floatplane.com/cover_images/59f94c0bdd241b70349eb72b/696951209272749_1521668313867_1245x325.jpeg"
}
]
},
"icon": {
"width": 600,
"height": 600,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205.jpeg",
"childImages": [
{
"width": 250,
"height": 250,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_250x250.jpeg"
},
{
"width": 100,
"height": 100,
"path": "https://pbs.floatplane.com/creator_icons/59f94c0bdd241b70349eb72b/770551996990709_1551249357205_100x100.jpeg"
}
]
},
"liveStream": {
"id": "5c13f3c006f1be15e08e05c0",
"title": "First Linux Stream",
"description": "<p>chat on Twitch</p>",
"thumbnail": {
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/084281881402899_1633761128412_400x225.jpeg"
}
]
},
"owner": "59f94c0bdd241b70349eb72b",
"streamPath": "/api/video/v1/us-east-1.758417551536.channel.yKkxur4ukc0B.m3u8",
"offline": {
"title": "Offline",
"description": "We're offline for now – please check back later!",
"thumbnail": {
"width": 1920,
"height": 1080,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_400x225.jpeg"
},
{
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/stream_thumbnails/5c13f3c006f1be15e08e05c0/894654974252956_1549059179026_1200x675.jpeg"
}
]
}
}
},
"subscriptionPlans": [
{
"id": "5d48d0306825b5780db93d07",
"title": "LTT Supporter (1080p)",
"description": "Includes:\n- Early access (when possible)\n- Live Streaming\n- Behind-the-scenes, cutting room floor & exclusives\n\nNOTE: Tech Quickie and TechLinked are included for now, but will move to their own Floatplane pages in the future",
"price": "5.00",
"priceYearly": "50.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": true,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
},
{
"id": "5e0ba6ac14e2590f760a0f0f",
"title": "LTT Supporter Plus",
"description": "You are the real MVP. \n\nYour support helps us continue to build out our team, drive up production values, run experiments that might lose money for a long time (*cough* LTX *cough*) and otherwise be the best content creators we can be.\n\nThis tier includes all the perks of the previous ones, but at floatplane's glorious high bitrate 4K!",
"price": "10.00",
"priceYearly": "100.00",
"currency": "usd",
"logo": null,
"interval": "month",
"featured": false,
"allowGrandfatheredAccess": false,
"discordServers": [],
"discordRoles": []
}
],
"discoverable": true,
"subscriberCountDisplay": "total",
"incomeDisplay": false,
"card": {
"width": 375,
"height": 500,
"path": "https://pbs.floatplane.com/creator_card/59f94c0bdd241b70349eb72b/281467946609369_1551250329871.jpeg",
"childImages": [
{
"width": 300,
"height": 400,
"path": "https://pbs.floatplane.com/creator_card/59f94c0bdd241b70349eb72b/281467946609369_1551250329871_300x400.jpeg"
}
]
}
},
"wasReleasedSilently": false,
"thumbnail": {
"width": 1920,
"height": 1080,
"path": "https://pbs.floatplane.com/blogPost_thumbnails/VkxlNv3k8j/438666910492097_1633734872237.jpeg",
"childImages": [
{
"width": 400,
"height": 225,
"path": "https://pbs.floatplane.com/blogPost_thumbnails/VkxlNv3k8j/438666910492097_1633734872237_400x225.jpeg"
},
{
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/blogPost_thumbnails/VkxlNv3k8j/438666910492097_1633734872237_1200x675.jpeg"
}
]
},
"isAccessible": true
}
]
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Related post details | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [BlogPostModelV3] | false | none | none |
| » id | string | true | none | none |
| » guid | string | true | none | none |
| » title | string | true | none | none |
| » text | string | true | none | Text description of the post. May have HTML paragraph (<p>) tags surrounding it, along with other HTML… |
| » type | string | true | none | none |
| » tags | [string] | true | none | none |
| » attachmentOrder | [string] | true | none | none |
| » metadata | PostMetadataModel | true | none | none |
| »» hasVideo | boolean | true | none | none |
| »» videoCount | integer | true | none | none |
| »» videoDuration | number | true | none | none |
| »» hasAudio | boolean | true | none | none |
| »» audioCount | integer | true | none | none |
| »» audioDuration | number | true | none | none |
| »» hasPicture | boolean | true | none | none |
| »» pictureCount | integer | true | none | none |
| »» hasGallery | boolean | true | none | none |
| »» galleryCount | integer | true | none | none |
| »» isFeatured | boolean | true | none | none |
| » releaseDate | string(date-time) | true | none | none |
| » likes | integer | true | none | none |
| » dislikes | integer | true | none | none |
| » score | integer | true | none | none |
| » comments | integer | true | none | none |
| » creator | object | true | none | none |
| »» id | string | true | none | none |
| »» owner | object | true | none | none |
| »»» id | string | true | none | none |
| »»» username | string | true | none | none |
| »» title | string | true | none | none |
| »» urlname | string | true | none | none |
| »» description | string | true | none | none |
| »» about | string | true | none | none |
| »» category | object | true | none | none |
| »»» title | string | false | none | none |
| »» cover | ImageModel | true | none | none |
| »»» width | integer | true | none | none |
| »»» height | integer | true | none | none |
| »»» path | string(uri) | true | none | none |
| »»» size | integer | false | none | none |
| »»» childImages | [ChildImageModel] | false | none | none |
| »»»» width | integer | true | none | none |
| »»»» height | integer | true | none | none |
| »»»» path | string(uri) | true | none | none |
| »» icon | ImageModel | true | none | none |
| »» liveStream | LiveStreamModel | false | none | none |
| »»» id | string | true | none | none |
| »»» title | string | true | none | none |
| »»» description | string | true | none | none |
| »»» thumbnail | ImageModel | false | none | none |
| »»» owner | string | true | none | none |
| »»» streamPath | string | true | none | none |
| »»» offline | object | true | none | none |
| »»»» title | string | false | none | none |
| »»»» description | string | false | none | none |
| »»»» thumbnail | ImageModel | false | none | none |
| »» subscriptionPlans | [SubscriptionPlanModel] | true | none | none |
| »»» id | string | true | none | none |
| »»» title | string | true | none | none |
| »»» description | string | true | none | none |
| »»» price | string | false | none | none |
| »»» priceYearly | string | false | none | none |
| »»» currency | string | true | none | none |
| »»» logo | string | false | none | none |
| »»» interval | string | true | none | none |
| »»» featured | boolean | true | none | none |
| »»» allowGrandfatheredAccess | boolean | false | none | none |
| »»» discordServers | [DiscordServerModel] | true | none | none |
| »»»» id | string | true | none | none |
| »»»» guildName | string | true | none | none |
| »»»» guildIcon | string | true | none | none |
| »»»» inviteLink | string(uri) | true | none | none |
| »»»» inviteMode | string | true | none | none |
| »»» discordRoles | [DiscordRoleModel] | true | none | none |
| »»»» server | string | true | none | none |
| »»»» roleName | string | true | none | none |
| »» discoverable | boolean | true | none | none |
| »» subscriberCountDisplay | string | true | none | none |
| »» incomeDisplay | boolean | true | none | none |
| »» card | ImageModel | true | none | none |
| » wasReleasedSilently | boolean | true | none | none |
| » thumbnail | ImageModel | false | none | none |
| » isAccessible | boolean | true | none | If false, the post should be marked as locked and not viewable by the user. |
| » videoAttachments | [string] | false | none | none |
| » audioAttachments | [string] | false | none | none |
| » pictureAttachments | [string] | false | none | none |
| » galleryAttachments | [string] | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| type | blogPost |
getVideoContent
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/content/video?id=string \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/content/video?id=string HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/video?id=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/content/video',
params: {
'id' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/content/video', params={
'id': 'string'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/content/video', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/video?id=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/content/video", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/content/video
Get Video Content
Retrieve more information on a video attachment from a blog post in order to consume the video content.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | query | string | true | The ID of the video attachment object, from the BlogPostModelV3. |
Example responses
200 Response
{
"id": "TViGzkuIic",
"guid": "TViGzkuIic",
"title": "October 9, 2021 @ 07:18 – First Linux Stream",
"type": "video",
"description": "",
"releaseDate": null,
"duration": 5689,
"creator": "59f94c0bdd241b70349eb72b",
"likes": 0,
"dislikes": 0,
"score": 0,
"isProcessing": false,
"primaryBlogPost": "Dw2ms0AgL8",
"thumbnail": {
"width": 1920,
"height": 1080,
"path": "https://pbs.floatplane.com/content_thumbnails/TViGzkuIic/324783659287024_1633769709593.jpeg",
"childImages": []
},
"isAccessible": true,
"blogPosts": [
"Dw2ms0AgL8"
],
"timelineSprite": {
"width": 4960,
"height": 2610,
"path": "https://pbs.floatplane.com/timeline_sprite/TViGzkuIic/142493855372807_1633769996492.jpeg",
"childImages": []
},
"userInteraction": [],
"levels": [
{
"name": "360",
"width": 640,
"height": 360,
"label": "360p",
"order": 0
},
{
"name": "480",
"width": 854,
"height": 480,
"label": "480p",
"order": 1
},
{
"name": "720",
"width": 1280,
"height": 720,
"label": "720p",
"order": 2
}
]
}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK - Video details returned | ContentVideoV3Response |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
getAudioContent
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/content/audio \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/content/audio HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/audio',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/content/audio',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/content/audio', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/content/audio', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/audio");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/content/audio", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/content/audio
Get Audio Content
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getPictureContent
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/content/picture?id=string \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/content/picture?id=string HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/picture?id=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/content/picture',
params: {
'id' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/content/picture', params={
'id': 'string'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/content/picture', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/picture?id=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/content/picture", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/content/picture
Get Picture Content
Retrieve more information on a picture attachment from a blog post in order to consume the picture content.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | query | string | true | The ID of the picture attachment object, from the BlogPostModelV3. |
Example responses
200 Response
{
"id": "ZWKdCy8TMN",
"guid": "ZWKdCy8TMN",
"title": "\"I hate costumes\" Jonathan",
"type": "picture",
"description": "",
"likes": 1,
"dislikes": 0,
"score": 1,
"isProcessing": false,
"creator": "59f94c0bdd241b70349eb72b",
"primaryBlogPost": "PGZBzzRWpD",
"userInteraction": [],
"thumbnail": {
"width": 1200,
"height": 675,
"path": "https://pbs.floatplane.com/picture_thumbnails/ZWKdCy8TMN/239212458322156_1634845035660.jpeg",
"childImages": []
},
"isAccessible": true,
"imageFiles": [
{
"path": "https://pbs.floatplane.com/content_images/59f94c0bdd241b70349eb72b/465975275316873_1634845031494_1164x675.jpeg?AWSAccessKeyId=...&Expires=...&Signature=...",
"width": 1164,
"height": 675,
"size": 165390
}
]
}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | ContentPictureV3Response |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
getGalleryContent
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/content/gallery \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/content/gallery HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/gallery',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/content/gallery',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/content/gallery', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/content/gallery', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/gallery");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/content/gallery", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/content/gallery
Get Gallery Content
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getContent
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/content/info \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/content/info HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/info',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/content/info',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/content/info', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/content/info', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/info");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/content/info", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/content/info
Get Content
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
likeContent
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/content/like \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/content/like HTTP/1.1
Host: www.floatplane.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"contentType": "blogPost",
"id": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/like',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/content/like',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/content/like', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/content/like', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/like");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/content/like", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/content/like
Like Content
Toggles the like status on a piece of content. If disliked before, it will turn into a like. If liked before, the like will be removed.
Body parameter
{
"contentType": "blogPost",
"id": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | ContentLikeV3Request | true | none |
Example responses
200 Response
[
"like"
]
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | UserInteractionModel |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
dislikeContent
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/content/dislike \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/content/dislike HTTP/1.1
Host: www.floatplane.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"contentType": "blogPost",
"id": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/dislike',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/content/dislike',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/content/dislike', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/content/dislike', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/dislike");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/content/dislike", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/content/dislike
Dislike Content
Toggles the dislike status on a piece of content. If liked before, it will turn into a dislike. If disliked before, the dislike will be removed.
Body parameter
{
"contentType": "blogPost",
"id": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | ContentLikeV3Request | true | none |
Example responses
200 Response
[
"dislike"
]
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | UserInteractionModel |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
getPictureUrl
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/content/picture/url \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/content/picture/url HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/picture/url',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/content/picture/url',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/content/picture/url', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/content/picture/url', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/picture/url");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/content/picture/url", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/content/picture/url
Get Picture Url
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
ContentUploadV3
Content uploading.
createMultipartUploadV3
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/content/upload/s3/multipart \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/content/upload/s3/multipart HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/upload/s3/multipart',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/content/upload/s3/multipart',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/content/upload/s3/multipart', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/content/upload/s3/multipart', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/upload/s3/multipart");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/content/upload/s3/multipart", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/content/upload/s3/multipart
Create Multipart Upload
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getUploadedPartsV3
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/content/upload/s3/multipart \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/content/upload/s3/multipart HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/upload/s3/multipart',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/content/upload/s3/multipart',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/content/upload/s3/multipart', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/content/upload/s3/multipart', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/upload/s3/multipart");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/content/upload/s3/multipart", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/content/upload/s3/multipart
Get Uploaded Parts
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
signPartUploadContent
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/content/upload/s3/multipart/sign \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/content/upload/s3/multipart/sign HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/upload/s3/multipart/sign',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/content/upload/s3/multipart/sign',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/content/upload/s3/multipart/sign', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/content/upload/s3/multipart/sign', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/upload/s3/multipart/sign");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/content/upload/s3/multipart/sign", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/content/upload/s3/multipart/sign
Sign Part Upload
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
abortMultipartUploadV3
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/content/upload/s3/multipart/abort \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/content/upload/s3/multipart/abort HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/upload/s3/multipart/abort',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/content/upload/s3/multipart/abort',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/content/upload/s3/multipart/abort', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/content/upload/s3/multipart/abort', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/upload/s3/multipart/abort");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/content/upload/s3/multipart/abort", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/content/upload/s3/multipart/abort
Abort Multipart Upload
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
completeMultipartUploadContent
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/content/upload/s3/multipart/complete \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/content/upload/s3/multipart/complete HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/upload/s3/multipart/complete',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/content/upload/s3/multipart/complete',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/content/upload/s3/multipart/complete', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/content/upload/s3/multipart/complete', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/upload/s3/multipart/complete");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/content/upload/s3/multipart/complete", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/content/upload/s3/multipart/complete
Complete Multipart Upload
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
uploadThumbnailV3
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/content/upload/thumbnail \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/content/upload/thumbnail HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/upload/thumbnail',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/content/upload/thumbnail',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/content/upload/thumbnail', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/content/upload/thumbnail', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/upload/thumbnail");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/content/upload/thumbnail", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/content/upload/thumbnail
Upload Thumbnail
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
thumbnailUpdateSubscribe
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/content/thumbnail/subscribe \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/content/thumbnail/subscribe HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/thumbnail/subscribe',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/content/thumbnail/subscribe',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/content/thumbnail/subscribe', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/content/thumbnail/subscribe', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/thumbnail/subscribe");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/content/thumbnail/subscribe", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/content/thumbnail/subscribe
Thumbnail Update Subscribe
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
LoyaltyRewardsV3
Loyalty rewards information and claiming.
listCreatorLoyaltyReward
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/user/loyaltyreward/list \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/user/loyaltyreward/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/user/loyaltyreward/list',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/user/loyaltyreward/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/user/loyaltyreward/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/user/loyaltyreward/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/user/loyaltyreward/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/user/loyaltyreward/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/user/loyaltyreward/list
List Creator Loyalty Reward
Retrieve a list of loyalty rewards for the user. The reason for why this is a POST and not a GET is unknown.
Example responses
200 Response
[]
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
claimLoyaltyReward
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/user/loyaltyreward/claim \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/user/loyaltyreward/claim HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/user/loyaltyreward/claim',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/user/loyaltyreward/claim',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/user/loyaltyreward/claim', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/user/loyaltyreward/claim', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/user/loyaltyreward/claim");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/user/loyaltyreward/claim", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/user/loyaltyreward/claim
Claim Loyalty Reward
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
VpnV3
Experimental VPN configuration.
getEnabledState
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/experiments/vpn/enabled \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/experiments/vpn/enabled HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/experiments/vpn/enabled',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/experiments/vpn/enabled',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/experiments/vpn/enabled', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/experiments/vpn/enabled', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/experiments/vpn/enabled");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/experiments/vpn/enabled", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/experiments/vpn/enabled
Get Enabled State
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
updateEnabledState
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/experiments/vpn/enabled \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/experiments/vpn/enabled HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/experiments/vpn/enabled',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/experiments/vpn/enabled',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/experiments/vpn/enabled', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/experiments/vpn/enabled', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/experiments/vpn/enabled");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/experiments/vpn/enabled", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/experiments/vpn/enabled
Update Enabled State
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
downloadUserProfile
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/experiments/vpn/profile/download \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/experiments/vpn/profile/download HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/experiments/vpn/profile/download',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/experiments/vpn/profile/download',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/experiments/vpn/profile/download', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/experiments/vpn/profile/download', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/experiments/vpn/profile/download");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/experiments/vpn/profile/download", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/experiments/vpn/profile/download
Download User Profile
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getUserProfileLinksEphemeral
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/experiments/vpn/profile/ephemeral \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/experiments/vpn/profile/ephemeral HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/experiments/vpn/profile/ephemeral',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/experiments/vpn/profile/ephemeral',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/experiments/vpn/profile/ephemeral', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/experiments/vpn/profile/ephemeral', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/experiments/vpn/profile/ephemeral");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/experiments/vpn/profile/ephemeral", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/experiments/vpn/profile/ephemeral
Get User Profile Links Ephemeral
TODO - Not used in Floatplane code yet.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
getServerList
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v3/experiments/vpn/server/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v3/experiments/vpn/server/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/experiments/vpn/server/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v3/experiments/vpn/server/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v3/experiments/vpn/server/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v3/experiments/vpn/server/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/experiments/vpn/server/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v3/experiments/vpn/server/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v3/experiments/vpn/server/list
Get Server List
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
CreatorAdministration
addCreatorModeratorByPath
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/add \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/add HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/add',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/add',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/add', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/add', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/add");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/add", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/creators/{creator}/administration/moderators/add
Add Creator Moderator By Path
TODO
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| creator | path | string | true | none |
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
removeCreatorModeratorAdmin
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/creator/administration/moderators/remove \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/creator/administration/moderators/remove HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/creator/administration/moderators/remove',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/creator/administration/moderators/remove',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/creator/administration/moderators/remove', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/creator/administration/moderators/remove', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/creator/administration/moderators/remove");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/creator/administration/moderators/remove", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/creator/administration/moderators/remove
Remove Creator Moderator
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
removeCreatorModeratorByPath
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/remove \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/remove HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/remove',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/remove',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/remove', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/remove', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/remove");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/remove", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v2/creators/{creator}/administration/moderators/remove
Remove Creator Moderator By Path
TODO
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| creator | path | string | true | none |
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listModerators
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/creator/administration/moderators/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/creator/administration/moderators/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/creator/administration/moderators/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/creator/administration/moderators/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/creator/administration/moderators/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/creator/administration/moderators/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/creator/administration/moderators/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/creator/administration/moderators/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/creator/administration/moderators/list
List Moderators
TODO
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
listModeratorsByPath
Code samples
# You can also use wget
curl -X GET https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/list \
-H 'Accept: application/json'
GET https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/list HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/list',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/list',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/list', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/list', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/list");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://www.floatplane.com/api/v2/creators/{creator}/administration/moderators/list", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/creators/{creator}/administration/moderators/list
List Moderators By Path
TODO
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| creator | path | string | true | none |
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
thumbnailUpdateUnsubscribeV3
thumbnailUpdateUnsubscribe
Code samples
# You can also use wget
curl -X POST https://www.floatplane.com/api/v3/content/thumbnail/unsubscribe \
-H 'Accept: application/json'
POST https://www.floatplane.com/api/v3/content/thumbnail/unsubscribe HTTP/1.1
Host: www.floatplane.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://www.floatplane.com/api/v3/content/thumbnail/unsubscribe',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.post 'https://www.floatplane.com/api/v3/content/thumbnail/unsubscribe',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://www.floatplane.com/api/v3/content/thumbnail/unsubscribe', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://www.floatplane.com/api/v3/content/thumbnail/unsubscribe', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://www.floatplane.com/api/v3/content/thumbnail/unsubscribe");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://www.floatplane.com/api/v3/content/thumbnail/unsubscribe", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v3/content/thumbnail/unsubscribe
Thumbnail Update Unsubscribe
TODO - Not used in Floatplane code.
Example responses
200 Response
{}
400 Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
401 Response
{
"id": "erng-ah8e-n0d3",
"errors": [
{
"id": "erng-ah8e-n0d3",
"name": "notLoggedInError",
"message": "You must be logged-in to access this resource."
}
],
"message": "You must be logged-in to access this resource."
}
403 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "missingAchievementError",
"message": "You lack one or more of the required achievements needed to access the requested resource.",
"data": {
"requiresAllOfAchievement": [
{
"id": "6157853e479315db795f7296",
"title": "FloatVPN Alpha",
"startDate": null,
"endDate": null,
"icon": null
}
]
}
}
],
"message": "You lack one or more of the required achievements needed to access the requested resource."
}
404 Response
{
"id": "f4ec-orux-hds2",
"errors": [
{
"id": "f4ec-orux-hds2",
"name": "notFoundError"
}
]
}
default Response
{
"id": "awoz-3s5g-6amf",
"errors": [
{
"id": "9edc-zejt-n3hb",
"name": "paramValidationError",
"message": "\"captchaToken\" must be an object",
"data": {
"rule": "object.base"
}
}
],
"message": "\"captchaToken\" must be an object"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request - The request has errors and the server did not process it. | ErrorModel |
| 401 | Unauthorized | Unauthenticated - The request was not authenticated to make the request. | ErrorModel |
| 403 | Forbidden | Forbidden - The request was not authenticated to make the request. | ErrorModel |
| 404 | Not Found | Not Found - The resource was not found. | ErrorModel |
| default | Default | Unexpected response code | ErrorModel |
Response Schema
Schemas
AuthLoginV2Request
{
"username": "string",
"password": "string",
"captchaToken": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| username | string | true | none | none |
| password | string | true | none | none |
| captchaToken | string | false | none | The Google Recaptcha v2/v3 token to verify the request. On web browsers, this is required. For mobile or TV applications, this is not required only if the User-Agent indicates so (e.g., if the User-Agent contains “CFNetwork” in its value). Otherwise, the application would have to supply a valid captcha token, which can be difficult to obtain dynamically in some scenarios. |
AuthLoginV2Response
{
"user": {
"id": "string",
"username": "string",
"profileImage": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
}
},
"needs2FA": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| user | UserModel | false | none | Represents some basic information of a user (id, username, and profile image). |
| needs2FA | boolean | true | none | If true, the user has not yet been authenticated, and will need to submit the 2FA token to complete authentication. |
CheckFor2faLoginRequest
{
"token": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| token | string | false | none | The two-factor authentication token that the user inputs to complete the login process. |
CdnDeliveryV2Response
{
"cdn": "http://example.com",
"strategy": "string",
"resource": {
"uri": "string",
"data": {
"qualityLevels": [
{
"name": "string",
"width": 0,
"height": 0,
"label": "string",
"order": 0
}
],
"qualityLevelParams": {
"property1": {
"token": "string"
},
"property2": {
"token": "string"
}
},
"token": "string"
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| cdn | string(uri) | true | none | The domain of the CDN server to use. |
| strategy | string | true | none | none |
| resource | object | true | none | none |
| » uri | string | false | none | The path to attach to the cdn property above. Replace the items surrounded by curly braces ({, }) with the appropriate values from the data property, depending on chosen resolution. First, choose the qualityLevel, then use the given token from the qualityLevelParam for that qualityLevel’s name. |
| » data | object | true | none | none |
| »» qualityLevels | [object] | false | none | none |
| »»» name | string | true | none | Used to identify this level of quality, and to refer to the qualityLevelParams object below by the property key. |
| »»» width | integer | true | none | The video quality’s resolution’s width in pixels. |
| »»» height | integer | true | none | The video quality resolution’s height in pixels. |
| »»» label | string | true | none | The display-friendly version of name. |
| »»» order | integer | true | none | The display order to be shown to the user. |
| »» qualityLevelParams | object | false | none | none |
| »»» additionalProperties | object | false | none | none |
| »»»» token | string | true | none | none |
| »» token | string | false | none | none |
PaymentInvoiceListV2Response
{
"invoices": [
{
"id": 0,
"amountDue": 0,
"amountTax": 0,
"attemptCount": 0,
"currency": "string",
"date": "2019-08-24T14:15:22Z",
"dateDue": "2019-08-24T14:15:22Z",
"periodStart": "2019-08-24T14:15:22Z",
"periodEnd": "2019-08-24T14:15:22Z",
"nextPaymentAttempt": "2019-08-24T14:15:22Z",
"paid": true,
"forgiven": true,
"refunded": true,
"subscriptions": [
{
"id": 0,
"subscription": 0,
"periodStart": "2019-08-24T14:15:22Z",
"periodEnd": "2019-08-24T14:15:22Z",
"value": 0,
"amountSubtotal": 0,
"amountTotal": 0,
"amountTax": 0,
"plan": {
"id": "string",
"title": "string",
"creator": {
"id": "string",
"title": "string",
"urlname": "string",
"icon": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
}
}
}
}
]
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| invoices | [object] | true | none | none |
| » id | integer | true | none | none |
| » amountDue | number | true | none | none |
| » amountTax | number | true | none | none |
| » attemptCount | integer | true | none | none |
| » currency | string | true | none | none |
| » date | string(date-time) | true | none | none |
| » dateDue | string(date-time) | false | none | none |
| » periodStart | string(date-time) | true | none | none |
| » periodEnd | string(date-time) | true | none | none |
| » nextPaymentAttempt | string(date-time) | true | none | none |
| » paid | boolean | true | none | none |
| » forgiven | boolean | true | none | none |
| » refunded | boolean | true | none | none |
| » subscriptions | [object] | false | none | The subscriptions this invoice is in reference to. |
| »» id | integer | true | none | none |
| »» subscription | number | true | none | none |
| »» periodStart | string(date-time) | true | none | none |
| »» periodEnd | string(date-time) | true | none | none |
| »» value | number | true | none | none |
| »» amountSubtotal | number | true | none | none |
| »» amountTotal | number | true | none | none |
| »» amountTax | number | true | none | none |
| »» plan | object | true | none | none |
| »»» id | string | true | none | none |
| »»» title | string | true | none | none |
| »»» creator | object | true | none | none |
| »»»» id | string | true | none | none |
| »»»» title | string | true | none | none |
| »»»» urlname | string | true | none | none |
| »»»» icon | ImageModel | true | none | none |
PlanInfoV2Response
{
"totalSubscriberCount": 0,
"totalIncome": "string",
"plans": [
{
"discordRoles": [
{
"server": "string",
"roleName": "string"
}
],
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"id": "string",
"title": "string",
"enabled": true,
"featured": true,
"description": "string",
"price": "string",
"priceYearly": "string",
"paymentID": 0,
"currency": "string",
"trialPeriod": 0,
"allowGrandfatheredAccess": true,
"logo": "string",
"creator": "string",
"discordServers": [
{
"id": "string",
"guildName": "string",
"guildIcon": "string",
"inviteLink": "http://example.com",
"inviteMode": "string"
}
],
"userIsSubscribed": true,
"userIsGrandfathered": true,
"enabledGlobal": true,
"interval": "string"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| totalSubscriberCount | integer | false | none | The total number of subscribers for this creator. |
| totalIncome | string | false | none | The total amount of monthly income for this creator. This field tends to always be $0 for regular users. |
| plans | [object] | true | none | none |
| » discordRoles | [DiscordRoleModel] | true | none | The available roles for the associated Discord servers that are available with this plan. |
| » createdAt | string(date-time) | true | none | none |
| » updatedAt | string(date-time) | true | none | none |
| » id | string | true | none | none |
| » title | string | true | none | none |
| » enabled | boolean | true | none | none |
| » featured | boolean | true | none | none |
| » description | string | true | none | none |
| » price | string | true | none | none |
| » priceYearly | string | false | none | none |
| » paymentID | integer | true | none | none |
| » currency | string | true | none | none |
| » trialPeriod | number | true | none | none |
| » allowGrandfatheredAccess | boolean | false | none | none |
| » logo | string | true | none | none |
| » creator | string | true | none | none |
| » discordServers | [DiscordServerModel] | true | none | none |
| » userIsSubscribed | boolean | true | none | none |
| » userIsGrandfathered | boolean | true | none | none |
| » enabledGlobal | boolean | true | none | none |
| » interval | string | true | none | none |
UserInfoV2Response
{
"users": [
{
"id": "string",
"user": {
"id": "string",
"username": "string",
"profileImage": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
}
}
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| users | [object] | true | none | none |
| » id | string | true | none | none |
| » user | UserModel | true | none | Represents some basic information of a user (id, username, and profile image). |
UserNamedV2Response
{
"users": [
{
"id": "string",
"user": {
"id": "string",
"username": "string",
"profileImage": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"email": "string",
"displayName": "string"
}
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| users | [object] | true | none | none |
| » id | string | true | none | none |
| » user | UserSelfModel | true | none | none |
UserSecurityV2Response
{
"twofactorEnabled": true,
"twofactorBackupCodeEnabled": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| twofactorEnabled | boolean | true | none | none |
| twofactorBackupCodeEnabled | boolean | true | none | none |
CommentV3PostRequest
{
"blogPost": "string",
"text": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| blogPost | string | true | none | The GUID of the blogPost the comment should be posted to. |
| text | string | true | none | The text of the comment being posted. |
CommentV3PostResponse
{
"id": "string",
"blogPost": "string",
"user": {
"id": "string",
"username": "string",
"profileImage": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
}
},
"contentReference": "string",
"contentReferenceType": "string",
"text": "string",
"replying": "string",
"postDate": "string",
"editDate": "string",
"likes": 0,
"dislikes": 0,
"score": 0,
"interactionCounts": {
"like": 0,
"dislike": 0
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| blogPost | string | true | none | none |
| user | UserModel | true | none | Represents some basic information of a user (id, username, and profile image). |
| contentReference | string | true | none | none |
| contentReferenceType | string | true | none | none |
| text | string | true | none | none |
| replying | string | true | none | none |
| postDate | string | true | none | none |
| editDate | string | true | none | none |
| likes | integer | true | none | none |
| dislikes | integer | true | none | none |
| score | integer | true | none | none |
| interactionCounts | object | true | none | none |
| » like | integer | true | none | none |
| » dislike | integer | true | none | none |
CommentLikeV3PostRequest
{
"comment": "string",
"blogPost": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| comment | string | true | none | The GUID of the comment being liked. |
| blogPost | string | true | none | The GUID of the post the comment is on. |
ContentCreatorListV3Response
{
"blogPosts": [
{
"id": "string",
"guid": "string",
"title": "string",
"text": "string",
"type": "blogPost",
"tags": [
"string"
],
"attachmentOrder": [
"string"
],
"metadata": {
"hasVideo": true,
"videoCount": 0,
"videoDuration": 0,
"hasAudio": true,
"audioCount": 0,
"audioDuration": 0,
"hasPicture": true,
"pictureCount": 0,
"hasGallery": true,
"galleryCount": 0,
"isFeatured": true
},
"releaseDate": "2019-08-24T14:15:22Z",
"likes": 0,
"dislikes": 0,
"score": 0,
"comments": 0,
"creator": {
"id": "string",
"owner": {
"id": "string",
"username": "string"
},
"title": "string",
"urlname": "string",
"description": "string",
"about": "string",
"category": {
"title": "string"
},
"cover": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"icon": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"liveStream": {
"id": "string",
"title": "string",
"description": "string",
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"owner": "string",
"streamPath": "string",
"offline": {
"title": "string",
"description": "string",
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
}
}
},
"subscriptionPlans": [
{
"id": "string",
"title": "string",
"description": "string",
"price": "string",
"priceYearly": "string",
"currency": "string",
"logo": "string",
"interval": "string",
"featured": true,
"allowGrandfatheredAccess": true,
"discordServers": [
{
"id": "string",
"guildName": "string",
"guildIcon": "string",
"inviteLink": "http://example.com",
"inviteMode": "string"
}
],
"discordRoles": [
{
"server": "string",
"roleName": "string"
}
]
}
],
"discoverable": true,
"subscriberCountDisplay": "string",
"incomeDisplay": true,
"card": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
}
},
"wasReleasedSilently": true,
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"isAccessible": true,
"videoAttachments": [
"string"
],
"audioAttachments": [
"string"
],
"pictureAttachments": [
"string"
],
"galleryAttachments": [
"string"
]
}
],
"lastElements": [
{
"creatorId": "string",
"blogPostId": "string",
"moreFetchable": true
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| blogPosts | [BlogPostModelV3] | true | none | none |
| lastElements | [ContentCreatorListLastItems] | true | none | Information about paging: what the last ID retrieve is and if more posts can be retrieved afterward for subsequent requests. |
ContentCreatorListLastItems
{
"creatorId": "string",
"blogPostId": "string",
"moreFetchable": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| creatorId | string | true | none | none |
| blogPostId | string | false | none | This may be returned as null if no blog posts for this creator appeared yet on this page of blog posts. However, Floatplane will complain if this is sent with a null value. |
| moreFetchable | boolean | true | none | none |
ContentPostV3Response
{
"id": "string",
"guid": "string",
"title": "string",
"text": "string",
"type": "blogPost",
"tags": [
"string"
],
"attachmentOrder": [
"string"
],
"metadata": {
"hasVideo": true,
"videoCount": 0,
"videoDuration": 0,
"hasAudio": true,
"audioCount": 0,
"audioDuration": 0,
"hasPicture": true,
"pictureCount": 0,
"hasGallery": true,
"galleryCount": 0,
"isFeatured": true
},
"releaseDate": "2019-08-24T14:15:22Z",
"likes": 0,
"dislikes": 0,
"score": 0,
"comments": 0,
"creator": {
"id": "string",
"owner": "string",
"title": "string",
"urlname": "string",
"description": "string",
"about": "string",
"category": "string",
"cover": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"icon": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"liveStream": {
"id": "string",
"title": "string",
"description": "string",
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"owner": "string",
"streamPath": "string",
"offline": {
"title": "string",
"description": "string",
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
}
}
},
"subscriptionPlans": [
{}
],
"discoverable": true,
"subscriberCountDisplay": "string",
"incomeDisplay": true,
"socialLinks": {
"instagram": "http://example.com",
"twitter": "http://example.com",
"website": "http://example.com",
"facebook": "http://example.com",
"youtube": "http://example.com"
},
"discordServers": [
{
"id": "string",
"guildName": "string",
"guildIcon": "string",
"inviteLink": "http://example.com",
"inviteMode": "string"
}
]
},
"wasReleasedSilently": true,
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"isAccessible": true,
"userInteraction": [
"like"
],
"videoAttachments": [
{
"id": "string",
"guid": "string",
"title": "string",
"type": "string",
"description": "string",
"releaseDate": "2019-08-24T14:15:22Z",
"duration": 0,
"creator": "string",
"likes": 0,
"dislikes": 0,
"score": 0,
"isProcessing": true,
"primaryBlogPost": "string",
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"isAccessible": true
}
],
"audioAttachments": [
{
"id": "string",
"guid": "string",
"title": "string",
"type": "string",
"description": "string",
"duration": 0,
"waveform": {
"dataSetLength": 0,
"highestValue": 0,
"lowestValue": 0,
"data": [
0
]
},
"creator": "string",
"likes": 0,
"dislikes": 0,
"score": 0,
"isProcessing": true,
"primaryBlogPost": "string",
"isAccessible": true
}
],
"pictureAttachments": [
{
"id": "string",
"guid": "string",
"title": "string",
"type": "string",
"description": "string",
"likes": 0,
"dislikes": 0,
"score": 0,
"isProcessing": true,
"creator": "string",
"primaryBlogPost": "string",
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"isAccessible": true
}
],
"galleryAttachments": [
null
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| guid | string | true | none | none |
| title | string | true | none | none |
| text | string | true | none | Text description of the post. May have HTML paragraph (<p>) tags surrounding it, along with other HTML… |
| type | string | true | none | none |
| tags | [string] | true | none | none |
| attachmentOrder | [string] | true | none | none |
| metadata | PostMetadataModel | true | none | none |
| releaseDate | string(date-time) | true | none | none |
| likes | integer | true | none | none |
| dislikes | integer | true | none | none |
| score | integer | true | none | none |
| comments | integer | true | none | none |
| creator | CreatorModelV2 | true | none | none |
| wasReleasedSilently | boolean | true | none | none |
| thumbnail | ImageModel | false | none | none |
| isAccessible | boolean | true | none | If false, the post should be marked as locked and not viewable by the user. |
| userInteraction | UserInteractionModel | false | none | none |
| videoAttachments | [VideoAttachmentModel] | false | none | none |
| audioAttachments | [AudioAttachmentModel] | false | none | none |
| pictureAttachments | [PictureAttachmentModel] | false | none | none |
| galleryAttachments | [any] | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| type | blogPost |
ContentVideoV3Response
{
"id": "string",
"guid": "string",
"title": "string",
"type": "string",
"description": "string",
"releaseDate": "2019-08-24T14:15:22Z",
"duration": 0,
"creator": "string",
"likes": 0,
"dislikes": 0,
"score": 0,
"isProcessing": true,
"primaryBlogPost": "string",
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"isAccessible": true,
"blogPosts": [
"string"
],
"timelineSprite": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"userInteraction": [
"like"
],
"levels": [
{
"name": "string",
"width": 0,
"height": 0,
"label": "string",
"order": 0
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| guid | string | true | none | none |
| title | string | true | none | none |
| type | string | true | none | none |
| description | string | true | none | none |
| releaseDate | string(date-time) | true | none | none |
| duration | number | true | none | Unit: seconds. |
| creator | string | true | none | none |
| likes | integer | true | none | none |
| dislikes | integer | true | none | none |
| score | integer | true | none | none |
| isProcessing | boolean | true | none | none |
| primaryBlogPost | string | true | none | none |
| thumbnail | ImageModel | true | none | none |
| isAccessible | boolean | true | none | If false, the post should be marked as locked and not viewable by the user. |
| blogPosts | [string] | true | none | none |
| timelineSprite | ImageModel | true | none | none |
| userInteraction | UserInteractionModel | false | none | none |
| levels | [object] | true | none | none |
| » name | string | true | none | none |
| » width | integer | true | none | none |
| » height | integer | true | none | none |
| » label | string | true | none | none |
| » order | integer | true | none | none |
ContentPictureV3Response
{
"id": "string",
"guid": "string",
"title": "string",
"type": "string",
"description": "string",
"likes": 0,
"dislikes": 0,
"score": 0,
"isProcessing": true,
"creator": "string",
"primaryBlogPost": "string",
"userInteraction": [
"like"
],
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"isAccessible": true,
"imageFiles": [
{
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| guid | string | true | none | none |
| title | string | true | none | none |
| type | string | true | none | none |
| description | string | true | none | none |
| likes | integer | true | none | none |
| dislikes | integer | true | none | none |
| score | integer | true | none | none |
| isProcessing | boolean | true | none | none |
| creator | string | true | none | none |
| primaryBlogPost | string | true | none | none |
| userInteraction | UserInteractionModel | false | none | none |
| thumbnail | ImageModel | true | none | none |
| isAccessible | boolean | true | none | If false, the post should be marked as locked and not viewable by the user. |
| imageFiles | [ImageModel] | true | none | none |
UserActivityV3Response
{
"activity": [
{
"time": "2019-08-24T14:15:22Z",
"comment": "string",
"postTitle": "string",
"postId": "string",
"creatorTitle": "string",
"creatorUrl": "string"
}
],
"visibility": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| activity | [object] | true | none | none |
| » time | string(date-time) | true | none | none |
| » comment | string | true | none | none |
| » postTitle | string | false | none | none |
| » postId | string | true | none | none |
| » creatorTitle | string | true | none | none |
| » creatorUrl | string | true | none | none |
| visibility | string | true | none | none |
UserLinksV3Response
{
"property1": {
"url": "http://example.com",
"type": {
"name": "string",
"displayName": "string",
"hostName": "string"
}
},
"property2": {
"url": "http://example.com",
"type": {
"name": "string",
"displayName": "string",
"hostName": "string"
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| additionalProperties | object | false | none | none |
| » url | string(uri) | false | none | The URL the user has configured for this link. |
| » type | object | false | none | none |
| »» name | string | false | none | The code name of this link type. |
| »» displayName | string | false | none | The display-friendly name of this link type. |
| »» hostName | string | false | none | The hostname that should be a part of the URL. |
UserNotificationUpdateV3PostRequest
{
"creator": "string",
"property": "contentEmail",
"newValue": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| creator | string | true | none | none |
| property | string | true | none | Use contentEmail for email notifications, and contentFirebase for push notifications. |
| newValue | boolean | true | none | none |
Enumerated Values
| Property | Value |
|---|---|
| property | contentEmail |
| property | contentFirebase |
UserSelfV3Response
{
"id": "string",
"username": "string",
"profileImage": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"email": "string",
"displayName": "string",
"creators": [
null
],
"scheduledDeletionDate": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| username | string | true | none | none |
| profileImage | ImageModel | true | none | none |
| string | false | none | none | |
| displayName | string | false | none | none |
| creators | [any] | false | none | none |
| scheduledDeletionDate | string | false | none | none |
ContentLikeV3Request
{
"contentType": "blogPost",
"id": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| contentType | string | true | none | none |
| id | string | true | none | none |
Enumerated Values
| Property | Value |
|---|---|
| contentType | blogPost |
GetCaptchaInfoResponse
{
"v2": {
"variants": {
"android": {
"siteKey": "string"
},
"checkbox": {
"siteKey": "string"
},
"invisible": {
"siteKey": "string"
}
}
},
"v3": {
"variants": {
"invisible": {
"siteKey": "string"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| v2 | object | true | none | none |
| » variants | object | true | none | none |
| »» android | object | true | none | none |
| »»» siteKey | string | true | none | none |
| »» checkbox | object | true | none | none |
| »»» siteKey | string | true | none | none |
| »» invisible | object | true | none | none |
| »»» siteKey | string | true | none | none |
| v3 | object | true | none | none |
| » variants | object | true | none | none |
| »» invisible | object | true | none | none |
| »»» siteKey | string | true | none | none |
ErrorModel
{
"id": "string",
"errors": [
{
"id": "string",
"name": "string",
"message": "string",
"data": {}
}
],
"message": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| errors | [object] | true | none | none |
| » id | string | true | none | none |
| » name | string | true | none | none |
| » message | string | false | none | none |
| » data | object | false | none | none |
| message | string | false | none | none |
PaymentAddressModel
{
"id": 0,
"customerName": "string",
"postalCode": "string",
"line1": "string",
"city": "string",
"region": "string",
"country": "string",
"default": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer | true | none | none |
| customerName | string | true | none | none |
| postalCode | string | true | none | none |
| line1 | string | true | none | none |
| city | string | true | none | none |
| region | string | true | none | none |
| country | string | true | none | none |
| default | boolean | true | none | none |
PaymentMethodModel
{
"id": 0,
"payment_processor": 0,
"default": true,
"card": {
"brand": "string",
"last4": "string",
"exp_month": 0,
"exp_year": 0,
"name": "string"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer | true | none | none |
| payment_processor | integer | true | none | none |
| default | boolean | true | none | none |
| card | object | true | none | none |
| » brand | string | true | none | none |
| » last4 | string | true | none | none |
| » exp_month | integer | true | none | none |
| » exp_year | integer | true | none | none |
| » name | string | true | none | none |
CreatorModelV2
{
"id": "string",
"owner": "string",
"title": "string",
"urlname": "string",
"description": "string",
"about": "string",
"category": "string",
"cover": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"icon": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"liveStream": {
"id": "string",
"title": "string",
"description": "string",
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"owner": "string",
"streamPath": "string",
"offline": {
"title": "string",
"description": "string",
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
}
}
},
"subscriptionPlans": [
{}
],
"discoverable": true,
"subscriberCountDisplay": "string",
"incomeDisplay": true,
"socialLinks": {
"instagram": "http://example.com",
"twitter": "http://example.com",
"website": "http://example.com",
"facebook": "http://example.com",
"youtube": "http://example.com"
},
"discordServers": [
{
"id": "string",
"guildName": "string",
"guildIcon": "string",
"inviteLink": "http://example.com",
"inviteMode": "string"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| owner | string | true | none | none |
| title | string | true | none | none |
| urlname | string | true | none | none |
| description | string | true | none | none |
| about | string | true | none | none |
| category | string | true | none | none |
| cover | ImageModel | false | none | none |
| icon | ImageModel | true | none | none |
| liveStream | LiveStreamModel | false | none | none |
| subscriptionPlans | [object] | false | none | none |
| discoverable | boolean | true | none | none |
| subscriberCountDisplay | string | true | none | none |
| incomeDisplay | boolean | true | none | none |
| socialLinks | SocialLinksModel | false | none | none |
| discordServers | [DiscordServerModel] | false | none | none |
CreatorModelV3
{
"id": "string",
"owner": "string",
"title": "string",
"urlname": "string",
"description": "string",
"about": "string",
"category": {
"title": "string"
},
"cover": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"icon": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"liveStream": {
"id": "string",
"title": "string",
"description": "string",
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"owner": "string",
"streamPath": "string",
"offline": {
"title": "string",
"description": "string",
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
}
}
},
"subscriptionPlans": [
{
"id": "string",
"title": "string",
"description": "string",
"price": "string",
"priceYearly": "string",
"currency": "string",
"logo": "string",
"interval": "string",
"featured": true,
"allowGrandfatheredAccess": true,
"discordServers": [
{
"id": "string",
"guildName": "string",
"guildIcon": "string",
"inviteLink": "http://example.com",
"inviteMode": "string"
}
],
"discordRoles": [
{
"server": "string",
"roleName": "string"
}
]
}
],
"discoverable": true,
"subscriberCountDisplay": "string",
"incomeDisplay": true,
"socialLinks": {
"instagram": "http://example.com",
"twitter": "http://example.com",
"website": "http://example.com",
"facebook": "http://example.com",
"youtube": "http://example.com"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| owner | string | true | none | none |
| title | string | true | none | none |
| urlname | string | true | none | none |
| description | string | true | none | none |
| about | string | true | none | none |
| category | object | true | none | none |
| » title | string | true | none | none |
| cover | ImageModel | true | none | none |
| icon | ImageModel | true | none | none |
| liveStream | LiveStreamModel | false | none | none |
| subscriptionPlans | [SubscriptionPlanModel] | true | none | none |
| discoverable | boolean | true | none | none |
| subscriberCountDisplay | string | true | none | none |
| incomeDisplay | boolean | true | none | none |
| socialLinks | SocialLinksModel | true | none | none |
BlogPostModelV3
{
"id": "string",
"guid": "string",
"title": "string",
"text": "string",
"type": "blogPost",
"tags": [
"string"
],
"attachmentOrder": [
"string"
],
"metadata": {
"hasVideo": true,
"videoCount": 0,
"videoDuration": 0,
"hasAudio": true,
"audioCount": 0,
"audioDuration": 0,
"hasPicture": true,
"pictureCount": 0,
"hasGallery": true,
"galleryCount": 0,
"isFeatured": true
},
"releaseDate": "2019-08-24T14:15:22Z",
"likes": 0,
"dislikes": 0,
"score": 0,
"comments": 0,
"creator": {
"id": "string",
"owner": {
"id": "string",
"username": "string"
},
"title": "string",
"urlname": "string",
"description": "string",
"about": "string",
"category": {
"title": "string"
},
"cover": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"icon": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"liveStream": {
"id": "string",
"title": "string",
"description": "string",
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"owner": "string",
"streamPath": "string",
"offline": {
"title": "string",
"description": "string",
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
}
}
},
"subscriptionPlans": [
{
"id": "string",
"title": "string",
"description": "string",
"price": "string",
"priceYearly": "string",
"currency": "string",
"logo": "string",
"interval": "string",
"featured": true,
"allowGrandfatheredAccess": true,
"discordServers": [
{
"id": "string",
"guildName": "string",
"guildIcon": "string",
"inviteLink": "http://example.com",
"inviteMode": "string"
}
],
"discordRoles": [
{
"server": "string",
"roleName": "string"
}
]
}
],
"discoverable": true,
"subscriberCountDisplay": "string",
"incomeDisplay": true,
"card": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
}
},
"wasReleasedSilently": true,
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"isAccessible": true,
"videoAttachments": [
"string"
],
"audioAttachments": [
"string"
],
"pictureAttachments": [
"string"
],
"galleryAttachments": [
"string"
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| guid | string | true | none | none |
| title | string | true | none | none |
| text | string | true | none | Text description of the post. May have HTML paragraph (<p>) tags surrounding it, along with other HTML… |
| type | string | true | none | none |
| tags | [string] | true | none | none |
| attachmentOrder | [string] | true | none | none |
| metadata | PostMetadataModel | true | none | none |
| releaseDate | string(date-time) | true | none | none |
| likes | integer | true | none | none |
| dislikes | integer | true | none | none |
| score | integer | true | none | none |
| comments | integer | true | none | none |
| creator | object | true | none | none |
| » id | string | true | none | none |
| » owner | object | true | none | none |
| »» id | string | true | none | none |
| »» username | string | true | none | none |
| » title | string | true | none | none |
| » urlname | string | true | none | none |
| » description | string | true | none | none |
| » about | string | true | none | none |
| » category | object | true | none | none |
| »» title | string | false | none | none |
| » cover | ImageModel | true | none | none |
| » icon | ImageModel | true | none | none |
| » liveStream | LiveStreamModel | false | none | none |
| » subscriptionPlans | [SubscriptionPlanModel] | true | none | none |
| » discoverable | boolean | true | none | none |
| » subscriberCountDisplay | string | true | none | none |
| » incomeDisplay | boolean | true | none | none |
| » card | ImageModel | true | none | none |
| wasReleasedSilently | boolean | true | none | none |
| thumbnail | ImageModel | false | none | none |
| isAccessible | boolean | true | none | If false, the post should be marked as locked and not viewable by the user. |
| videoAttachments | [string] | false | none | none |
| audioAttachments | [string] | false | none | none |
| pictureAttachments | [string] | false | none | none |
| galleryAttachments | [string] | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| type | blogPost |
SubscriptionPlanModel
{
"id": "string",
"title": "string",
"description": "string",
"price": "string",
"priceYearly": "string",
"currency": "string",
"logo": "string",
"interval": "string",
"featured": true,
"allowGrandfatheredAccess": true,
"discordServers": [
{
"id": "string",
"guildName": "string",
"guildIcon": "string",
"inviteLink": "http://example.com",
"inviteMode": "string"
}
],
"discordRoles": [
{
"server": "string",
"roleName": "string"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| title | string | true | none | none |
| description | string | true | none | none |
| price | string | false | none | none |
| priceYearly | string | false | none | none |
| currency | string | true | none | none |
| logo | string | false | none | none |
| interval | string | true | none | none |
| featured | boolean | true | none | none |
| allowGrandfatheredAccess | boolean | false | none | none |
| discordServers | [DiscordServerModel] | true | none | none |
| discordRoles | [DiscordRoleModel] | true | none | none |
PostMetadataModel
{
"hasVideo": true,
"videoCount": 0,
"videoDuration": 0,
"hasAudio": true,
"audioCount": 0,
"audioDuration": 0,
"hasPicture": true,
"pictureCount": 0,
"hasGallery": true,
"galleryCount": 0,
"isFeatured": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| hasVideo | boolean | true | none | none |
| videoCount | integer | true | none | none |
| videoDuration | number | true | none | none |
| hasAudio | boolean | true | none | none |
| audioCount | integer | true | none | none |
| audioDuration | number | true | none | none |
| hasPicture | boolean | true | none | none |
| pictureCount | integer | true | none | none |
| hasGallery | boolean | true | none | none |
| galleryCount | integer | true | none | none |
| isFeatured | boolean | true | none | none |
VideoAttachmentModel
{
"id": "string",
"guid": "string",
"title": "string",
"type": "string",
"description": "string",
"releaseDate": "2019-08-24T14:15:22Z",
"duration": 0,
"creator": "string",
"likes": 0,
"dislikes": 0,
"score": 0,
"isProcessing": true,
"primaryBlogPost": "string",
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"isAccessible": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| guid | string | true | none | none |
| title | string | true | none | none |
| type | string | true | none | none |
| description | string | true | none | none |
| releaseDate | string(date-time) | false | none | none |
| duration | number | true | none | none |
| creator | string | true | none | none |
| likes | integer | true | none | none |
| dislikes | integer | true | none | none |
| score | integer | true | none | none |
| isProcessing | boolean | true | none | none |
| primaryBlogPost | string | true | none | none |
| thumbnail | ImageModel | true | none | none |
| isAccessible | boolean | true | none | If false, the post should be marked as locked and not viewable by the user. |
PictureAttachmentModel
{
"id": "string",
"guid": "string",
"title": "string",
"type": "string",
"description": "string",
"likes": 0,
"dislikes": 0,
"score": 0,
"isProcessing": true,
"creator": "string",
"primaryBlogPost": "string",
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"isAccessible": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| guid | string | true | none | none |
| title | string | true | none | none |
| type | string | true | none | none |
| description | string | true | none | none |
| likes | integer | true | none | none |
| dislikes | integer | true | none | none |
| score | integer | true | none | none |
| isProcessing | boolean | true | none | none |
| creator | string | true | none | none |
| primaryBlogPost | string | true | none | none |
| thumbnail | ImageModel | true | none | none |
| isAccessible | boolean | true | none | If false, the post should be marked as locked and not viewable by the user. |
AudioAttachmentModel
{
"id": "string",
"guid": "string",
"title": "string",
"type": "string",
"description": "string",
"duration": 0,
"waveform": {
"dataSetLength": 0,
"highestValue": 0,
"lowestValue": 0,
"data": [
0
]
},
"creator": "string",
"likes": 0,
"dislikes": 0,
"score": 0,
"isProcessing": true,
"primaryBlogPost": "string",
"isAccessible": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| guid | string | true | none | none |
| title | string | true | none | none |
| type | string | true | none | none |
| description | string | true | none | none |
| duration | integer | true | none | none |
| waveform | object | true | none | none |
| » dataSetLength | integer | true | none | none |
| » highestValue | integer | true | none | none |
| » lowestValue | integer | true | none | none |
| » data | [integer] | true | none | none |
| creator | string | true | none | none |
| likes | integer | true | none | none |
| dislikes | integer | true | none | none |
| score | integer | true | none | none |
| isProcessing | boolean | true | none | none |
| primaryBlogPost | string | true | none | none |
| isAccessible | boolean | true | none | If false, the post should be marked as locked and not viewable by the user. |
ImageModel
{
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| width | integer | true | none | none |
| height | integer | true | none | none |
| path | string(uri) | true | none | none |
| size | integer | false | none | none |
| childImages | [ChildImageModel] | false | none | none |
ChildImageModel
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| width | integer | true | none | none |
| height | integer | true | none | none |
| path | string(uri) | true | none | none |
LiveStreamModel
{
"id": "string",
"title": "string",
"description": "string",
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"owner": "string",
"streamPath": "string",
"offline": {
"title": "string",
"description": "string",
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| title | string | true | none | none |
| description | string | true | none | none |
| thumbnail | ImageModel | false | none | none |
| owner | string | true | none | none |
| streamPath | string | true | none | none |
| offline | object | true | none | none |
| » title | string | false | none | none |
| » description | string | false | none | none |
| » thumbnail | ImageModel | false | none | none |
SocialLinksModel
{
"instagram": "http://example.com",
"twitter": "http://example.com",
"website": "http://example.com",
"facebook": "http://example.com",
"youtube": "http://example.com"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| string(uri) | false | none | none | |
| string(uri) | false | none | none | |
| website | string(uri) | false | none | none |
| string(uri) | false | none | none | |
| youtube | string(uri) | false | none | none |
DiscordServerModel
{
"id": "string",
"guildName": "string",
"guildIcon": "string",
"inviteLink": "http://example.com",
"inviteMode": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| guildName | string | true | none | none |
| guildIcon | string | true | none | none |
| inviteLink | string(uri) | true | none | none |
| inviteMode | string | true | none | none |
DiscordRoleModel
{
"server": "string",
"roleName": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| server | string | true | none | none |
| roleName | string | true | none | none |
UserModel
{
"id": "string",
"username": "string",
"profileImage": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
}
}
Represents some basic information of a user (id, username, and profile image).
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| username | string | true | none | none |
| profileImage | ImageModel | true | none | none |
UserSelfModel
{
"id": "string",
"username": "string",
"profileImage": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"email": "string",
"displayName": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| username | string | true | none | none |
| profileImage | ImageModel | true | none | none |
| string | false | none | none | |
| displayName | string | false | none | none |
ConnectedAccountModel
{
"key": "string",
"name": "string",
"enabled": true,
"iconWhite": "string",
"connectedAccount": {
"id": "string",
"remoteUserId": "string",
"remoteUserName": "string",
"data": {
"canJoinGuilds": true
}
},
"connected": true,
"isAccountProvider": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| key | string | true | none | Unique identifier for the account type. |
| name | string | true | none | Display-friendly label for the key. |
| enabled | boolean | true | none | Determines if the system allows this account to be connected to. |
| iconWhite | string | true | none | none |
| connectedAccount | object | true | none | none |
| » id | string | true | none | none |
| » remoteUserId | string | true | none | none |
| » remoteUserName | string | true | none | none |
| » data | object | true | none | none |
| »» canJoinGuilds | boolean | false | none | none |
| connected | boolean | true | none | If true, the user is connected and the connectedAccount will have data about the account. |
| isAccountProvider | boolean | true | none | none |
CommentModel
{
"id": "string",
"blogPost": "string",
"user": {
"id": "string",
"username": "string",
"profileImage": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
}
},
"contentReference": "string",
"contentReferenceType": "string",
"text": "string",
"replying": "string",
"postDate": "string",
"editDate": "string",
"likes": 0,
"dislikes": 0,
"score": 0,
"interactionCounts": {
"like": 0,
"dislike": 0
},
"totalReplies": 0,
"replies": [
{
"id": "string",
"blogPost": "string",
"user": {
"id": "string",
"username": "string",
"profileImage": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
}
},
"contentReference": "string",
"contentReferenceType": "string",
"text": "string",
"replying": "string",
"postDate": "2019-08-24T14:15:22Z",
"editDate": "2019-08-24T14:15:22Z",
"likes": 0,
"dislikes": 0,
"score": 0,
"interactionCounts": {
"like": 0,
"dislike": 0
},
"userInteraction": [
"like"
]
}
],
"userInteraction": [
"like"
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| blogPost | string | true | none | none |
| user | UserModel | true | none | Represents some basic information of a user (id, username, and profile image). |
| contentReference | string | true | none | none |
| contentReferenceType | string | true | none | none |
| text | string | true | none | none |
| replying | string | true | none | none |
| postDate | string | true | none | none |
| editDate | string | true | none | none |
| likes | integer | true | none | none |
| dislikes | integer | true | none | none |
| score | integer | true | none | none |
| interactionCounts | object | true | none | none |
| » like | integer | false | none | none |
| » dislike | integer | false | none | none |
| totalReplies | integer | true | none | none |
| replies | [CommentReplyModel] | true | none | none |
| userInteraction | UserInteractionModel | false | none | none |
CommentReplyModel
{
"id": "string",
"blogPost": "string",
"user": {
"id": "string",
"username": "string",
"profileImage": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
}
},
"contentReference": "string",
"contentReferenceType": "string",
"text": "string",
"replying": "string",
"postDate": "2019-08-24T14:15:22Z",
"editDate": "2019-08-24T14:15:22Z",
"likes": 0,
"dislikes": 0,
"score": 0,
"interactionCounts": {
"like": 0,
"dislike": 0
},
"userInteraction": [
"like"
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | none |
| blogPost | string | true | none | none |
| user | UserModel | true | none | Represents some basic information of a user (id, username, and profile image). |
| contentReference | string | true | none | none |
| contentReferenceType | string | true | none | none |
| text | string | true | none | none |
| replying | string | true | none | none |
| postDate | string(date-time) | true | none | none |
| editDate | string(date-time) | true | none | none |
| likes | integer | true | none | none |
| dislikes | integer | true | none | none |
| score | integer | true | none | none |
| interactionCounts | object | true | none | none |
| » like | integer | false | none | none |
| » dislike | integer | false | none | none |
| userInteraction | UserInteractionModel | false | none | none |
UserNotificationModel
{
"creator": {
"id": "string",
"owner": "string",
"title": "string",
"urlname": "string",
"description": "string",
"about": "string",
"category": "string",
"cover": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"icon": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"liveStream": {
"id": "string",
"title": "string",
"description": "string",
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
},
"owner": "string",
"streamPath": "string",
"offline": {
"title": "string",
"description": "string",
"thumbnail": {
"width": 0,
"height": 0,
"path": "http://example.com",
"size": 0,
"childImages": [
{
"width": 0,
"height": 0,
"path": "http://example.com"
}
]
}
}
},
"subscriptionPlans": [
{}
],
"discoverable": true,
"subscriberCountDisplay": "string",
"incomeDisplay": true,
"socialLinks": {
"instagram": "http://example.com",
"twitter": "http://example.com",
"website": "http://example.com",
"facebook": "http://example.com",
"youtube": "http://example.com"
},
"discordServers": [
{
"id": "string",
"guildName": "string",
"guildIcon": "string",
"inviteLink": "http://example.com",
"inviteMode": "string"
}
]
},
"userNotificationSetting": {
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"id": "string",
"contentEmail": true,
"contentFirebase": true,
"creatorMessageEmail": true,
"user": "string",
"creator": "string"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| creator | CreatorModelV2 | true | none | none |
| userNotificationSetting | object | true | none | none |
| » createdAt | string(date-time) | true | none | none |
| » updatedAt | string(date-time) | true | none | none |
| » id | string | true | none | none |
| » contentEmail | boolean | true | none | none |
| » contentFirebase | boolean | true | none | none |
| » creatorMessageEmail | boolean | true | none | none |
| » user | string | true | none | none |
| » creator | string | true | none | none |
UserSubscriptionModel
{
"startDate": "2019-08-24T14:15:22Z",
"endDate": "2019-08-24T14:15:22Z",
"paymentID": 0,
"interval": "string",
"paymentCancelled": true,
"plan": {
"id": "string",
"title": "string",
"description": "string",
"price": "string",
"priceYearly": "string",
"currency": "string",
"logo": "string",
"interval": "string",
"featured": true,
"allowGrandfatheredAccess": true,
"discordServers": [
{
"id": "string",
"guildName": "string",
"guildIcon": "string",
"inviteLink": "http://example.com",
"inviteMode": "string"
}
],
"discordRoles": [
{
"server": "string",
"roleName": "string"
}
]
},
"creator": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| startDate | string(date-time) | true | none | none |
| endDate | string(date-time) | true | none | none |
| paymentID | integer | true | none | none |
| interval | string | true | none | none |
| paymentCancelled | boolean | true | none | none |
| plan | object | true | none | none |
| » id | string | true | none | none |
| » title | string | true | none | none |
| » description | string | true | none | none |
| » price | string | false | none | none |
| » priceYearly | string | false | none | none |
| » currency | string | true | none | none |
| » logo | string | false | none | none |
| » interval | string | true | none | none |
| » featured | boolean | true | none | none |
| » allowGrandfatheredAccess | boolean | false | none | none |
| » discordServers | [DiscordServerModel] | true | none | none |
| » discordRoles | [DiscordRoleModel] | true | none | none |
| creator | string | true | none | none |
FaqSectionModel
{
"faqs": [
{
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"id": "string",
"question": "string",
"answer": "string",
"status": "public",
"link": "string",
"order": 0,
"faqSection": "string"
}
],
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"id": "string",
"name": "string",
"description": "string",
"status": "public",
"order": 0
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| faqs | [object] | true | none | none |
| » createdAt | string(date-time) | true | none | none |
| » updatedAt | string(date-time) | true | none | none |
| » id | string | true | none | none |
| » question | string | true | none | none |
| » answer | string | true | none | This field may contain HTML that should be rendered. |
| » status | string | true | none | none |
| » link | string | true | none | none |
| » order | number | true | none | none |
| » faqSection | string | true | none | none |
| createdAt | string(date-time) | true | none | none |
| updatedAt | string(date-time) | true | none | none |
| id | string | true | none | none |
| name | string | true | none | none |
| description | string | true | none | none |
| status | string | true | none | none |
| order | number | true | none | none |
Enumerated Values
| Property | Value |
|---|---|
| status | public |
| status | public |
UserInteractionModel
[
"like"
]
Properties
None